< prev index next >

src/hotspot/share/prims/jvmtiEnvBase.cpp

Print this page

        

*** 650,659 **** --- 650,660 ---- JvmtiEnvBase::get_current_contended_monitor(JavaThread *calling_thread, JavaThread *java_thread, jobject *monitor_ptr) { #ifdef ASSERT uint32_t debug_bits = 0; #endif assert((SafepointSynchronize::is_at_safepoint() || + java_thread->is_vmthread_processing_handshake() || java_thread->is_thread_fully_suspended(false, &debug_bits)), "at safepoint or target thread is suspended"); oop obj = NULL; ObjectMonitor *mon = java_thread->current_waiting_monitor(); if (mon == NULL) {
*** 1551,1567 **** _owned_monitors_list); } } void ! VM_GetCurrentContendedMonitor::doit() { ! _result = JVMTI_ERROR_THREAD_NOT_ALIVE; ! ThreadsListHandle tlh; ! if (_java_thread != NULL && tlh.includes(_java_thread) ! && !_java_thread->is_exiting() && _java_thread->threadObj() != NULL) { ! _result = ((JvmtiEnvBase *)_env)->get_current_contended_monitor(_calling_thread,_java_thread,_owned_monitor_ptr); ! } } void VM_GetStackTrace::doit() { _result = JVMTI_ERROR_THREAD_NOT_ALIVE; --- 1552,1563 ---- _owned_monitors_list); } } void ! GetOneCurrentContendedMonitor::do_thread(Thread *target) { ! _result = ((JvmtiEnvBase *)_env)->get_current_contended_monitor(_calling_thread, (JavaThread *)target, _owned_monitor_ptr); } void VM_GetStackTrace::doit() { _result = JVMTI_ERROR_THREAD_NOT_ALIVE;
< prev index next >