Mercurial > hg > truffle
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());