changeset 14609:a65db4b0d185

Merge
author Tom Rodriguez <tom.rodriguez@oracle.com>
date Tue, 18 Mar 2014 16:45:07 -0700
parents 682fba1bcf95 (diff) f50dece27798 (current diff)
children aef9e4224076
files
diffstat 2 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java	Tue Mar 18 23:50:46 2014 +0100
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java	Tue Mar 18 16:45:07 2014 -0700
@@ -373,9 +373,8 @@
     }
 
     /**
-     * Gets the compilation level of the currently installed code for this method.
-     * 
-     * @return compilation level
+     * @param level
+     * @return true if the currently installed code was generated at {@code level}.
      */
     public boolean hasCompiledCodeAtLevel(int level) {
         long compiledCode = getCompiledCode();
--- a/src/share/vm/graal/graalRuntime.cpp	Tue Mar 18 23:50:46 2014 +0100
+++ b/src/share/vm/graal/graalRuntime.cpp	Tue Mar 18 16:45:07 2014 -0700
@@ -539,7 +539,12 @@
   Handle receiverHandle(thread, receiver);
   MutexLockerEx ml(thread->threadObj() == (void*)receiver ? NULL : Threads_lock);
   JavaThread* receiverThread = java_lang_Thread::thread(receiverHandle());
-  return (jint) Thread::is_interrupted(receiverThread, clear_interrupted != 0);
+  if (receiverThread == NULL) {
+    // The other thread may exit during this process, which is ok so return false.
+    return JNI_FALSE;
+  } else {
+    return (jint) Thread::is_interrupted(receiverThread, clear_interrupted != 0);
+  }
 JRT_END
 
 // JVM_InitializeGraalRuntime