diff src/share/vm/graal/graalRuntime.cpp @ 21207:93dc70e47fb0

documented why THREAD_IS_INTERRUPTED foreign call is NOT_LEAF
author Doug Simon <doug.simon@oracle.com>
date Mon, 04 May 2015 11:20:39 +0200
parents 85b0935625c1
children 923c37b10fb4 1ab7802d35c9
line wrap: on
line diff
--- a/src/share/vm/graal/graalRuntime.cpp	Mon May 04 10:41:05 2015 +0200
+++ b/src/share/vm/graal/graalRuntime.cpp	Mon May 04 11:20:39 2015 +0200
@@ -600,7 +600,8 @@
 JRT_END
 
 JRT_ENTRY(jboolean, GraalRuntime::thread_is_interrupted(JavaThread* thread, oopDesc* receiver, jboolean clear_interrupted))
-  // Ensure that the C++ Thread and OSThread structures aren't freed before we operate
+  // Ensure that the C++ Thread and OSThread structures aren't freed before we operate.
+  // This locking requires thread_in_vm which is why this method cannot be JRT_LEAF.
   Handle receiverHandle(thread, receiver);
   MutexLockerEx ml(thread->threadObj() == (void*)receiver ? NULL : Threads_lock);
   JavaThread* receiverThread = java_lang_Thread::thread(receiverHandle());