# HG changeset patch # User Thomas Wuerthinger # Date 1371845086 -7200 # Node ID cd68d6902328263aead7279af0577244d65ae1ef # Parent 3489047ffea2340afc9b09573699dc112bd0fdc5 Fix invalidateInstalledCode and delete isInstalledCodeValid. diff -r 3489047ffea2 -r cd68d6902328 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Fri Jun 21 18:26:52 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVM.java Fri Jun 21 22:04:46 2013 +0200 @@ -229,7 +229,5 @@ */ void reprofile(long metaspaceMethod); - void invalidateInstalledCode(long nativeMethod); - - boolean isInstalledCodeValid(long nativeMethod); + void invalidateInstalledCode(HotSpotInstalledCode hotspotInstalledCode); } diff -r 3489047ffea2 -r cd68d6902328 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Fri Jun 21 18:26:52 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/bridge/CompilerToVMImpl.java Fri Jun 21 22:04:46 2013 +0200 @@ -170,10 +170,7 @@ public native Object lookupAppendixInPool(HotSpotResolvedObjectType pool, int cpi, byte opcode); @Override - public native void invalidateInstalledCode(long nativeMethod); - - @Override - public native boolean isInstalledCodeValid(long nativeMethod); + public native void invalidateInstalledCode(HotSpotInstalledCode hotspotInstalledCode); @Override public Object executeCompiledMethod(Object arg1, Object arg2, Object arg3, HotSpotInstalledCode hotspotInstalledCode) throws InvalidInstalledCodeException { diff -r 3489047ffea2 -r cd68d6902328 graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java --- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java Fri Jun 21 18:26:52 2013 +0200 +++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotNmethod.java Fri Jun 21 22:04:46 2013 +0200 @@ -73,7 +73,7 @@ @Override public void invalidate() { - graalRuntime().getCompilerToVM().invalidateInstalledCode(codeBlob); + graalRuntime().getCompilerToVM().invalidateInstalledCode(this); } @Override diff -r 3489047ffea2 -r cd68d6902328 src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Fri Jun 21 18:26:52 2013 +0200 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Fri Jun 21 22:04:46 2013 +0200 @@ -1157,7 +1157,8 @@ C2V_END -C2V_VMENTRY(void, invalidateInstalledCode, (JNIEnv *env, jobject, jlong nativeMethod)) +C2V_VMENTRY(void, invalidateInstalledCode, (JNIEnv *env, jobject, jobject hotspotInstalledCode)) + jlong nativeMethod = HotSpotInstalledCode::codeBlob(hotspotInstalledCode); nmethod* m = (nmethod*)nativeMethod; if (!m->is_not_entrant()) { m->mark_for_deoptimization(); @@ -1167,11 +1168,6 @@ C2V_END -C2V_VMENTRY(jboolean, isInstalledCodeValid, (JNIEnv *env, jobject, jlong nativeMethod)) - nmethod* m = (nmethod*)nativeMethod; - return m->is_alive() && !m->is_not_entrant(); -C2V_END - #define CC (char*) /*cast a literal from (const char*)*/ #define FN_PTR(f) CAST_FROM_FN_PTR(void*, &(c2v_ ## f)) @@ -1249,8 +1245,7 @@ {CC"getLocalVariableTable", CC"("HS_RESOLVED_METHOD")["LOCAL, FN_PTR(getLocalVariableTable)}, {CC"getFileName", CC"("HS_RESOLVED_JAVA_TYPE")"STRING, FN_PTR(getFileName)}, {CC"reprofile", CC"("METASPACE_METHOD")V", FN_PTR(reprofile)}, - {CC"invalidateInstalledCode", CC"(J)V", FN_PTR(invalidateInstalledCode)}, - {CC"isInstalledCodeValid", CC"(J)Z", FN_PTR(isInstalledCodeValid)}, + {CC"invalidateInstalledCode", CC"("HS_INSTALLED_CODE")V", FN_PTR(invalidateInstalledCode)}, }; int CompilerToVM_methods_count() {