equal
deleted
inserted
replaced
616 } |
616 } |
617 JRT_END |
617 JRT_END |
618 |
618 |
619 JRT_ENTRY(jint, JVMCIRuntime::identity_hash_code(JavaThread* thread, oopDesc* obj)) |
619 JRT_ENTRY(jint, JVMCIRuntime::identity_hash_code(JavaThread* thread, oopDesc* obj)) |
620 return (jint) obj->identity_hash(); |
620 return (jint) obj->identity_hash(); |
621 JRT_END |
|
622 |
|
623 JRT_ENTRY(jboolean, JVMCIRuntime::thread_is_interrupted(JavaThread* thread, oopDesc* receiver, jboolean clear_interrupted)) |
|
624 Handle receiverHandle(thread, receiver); |
|
625 // A nested ThreadsListHandle may require the Threads_lock which |
|
626 // requires thread_in_vm which is why this method cannot be JRT_LEAF. |
|
627 ThreadsListHandle tlh; |
|
628 |
|
629 JavaThread* receiverThread = java_lang_Thread::thread(receiverHandle()); |
|
630 if (receiverThread == NULL || (EnableThreadSMRExtraValidityChecks && !tlh.includes(receiverThread))) { |
|
631 // The other thread may exit during this process, which is ok so return false. |
|
632 return JNI_FALSE; |
|
633 } else { |
|
634 return (jint) receiverThread->is_interrupted(clear_interrupted != 0); |
|
635 } |
|
636 JRT_END |
621 JRT_END |
637 |
622 |
638 JRT_ENTRY(jint, JVMCIRuntime::test_deoptimize_call_int(JavaThread* thread, int value)) |
623 JRT_ENTRY(jint, JVMCIRuntime::test_deoptimize_call_int(JavaThread* thread, int value)) |
639 deopt_caller(); |
624 deopt_caller(); |
640 return (jint) value; |
625 return (jint) value; |