< prev index next >

src/hotspot/share/prims/jvmtiEnvBase.cpp

Print this page
rev 56777 : See CR7-to-CR8-changes.

*** 652,665 **** #endif assert((SafepointSynchronize::is_at_safepoint() || 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) { // thread is not doing an Object.wait() call ! mon = java_thread->current_pending_monitor(); if (mon != NULL) { // The thread is trying to enter() an ObjectMonitor. obj = (oop)mon->object(); assert(obj != NULL, "ObjectMonitor should have a valid object!"); } --- 652,666 ---- #endif assert((SafepointSynchronize::is_at_safepoint() || java_thread->is_thread_fully_suspended(false, &debug_bits)), "at safepoint or target thread is suspended"); oop obj = NULL; ! ObjectMonitorHandle omh; ! ObjectMonitor *mon = java_thread->current_waiting_monitor(&omh); if (mon == NULL) { // thread is not doing an Object.wait() call ! mon = java_thread->current_pending_monitor(&omh); if (mon != NULL) { // The thread is trying to enter() an ObjectMonitor. obj = (oop)mon->object(); assert(obj != NULL, "ObjectMonitor should have a valid object!"); }
*** 731,750 **** } HandleMark hm; oop wait_obj = NULL; { // save object of current wait() call (if any) for later comparison ! ObjectMonitor *mon = java_thread->current_waiting_monitor(); if (mon != NULL) { wait_obj = (oop)mon->object(); } } oop pending_obj = NULL; { // save object of current enter() call (if any) for later comparison ! ObjectMonitor *mon = java_thread->current_pending_monitor(); if (mon != NULL) { pending_obj = (oop)mon->object(); } } --- 732,753 ---- } HandleMark hm; oop wait_obj = NULL; { + ObjectMonitorHandle omh; // save object of current wait() call (if any) for later comparison ! ObjectMonitor *mon = java_thread->current_waiting_monitor(&omh); if (mon != NULL) { wait_obj = (oop)mon->object(); } } oop pending_obj = NULL; { + ObjectMonitorHandle omh; // save object of current enter() call (if any) for later comparison ! ObjectMonitor *mon = java_thread->current_pending_monitor(&omh); if (mon != NULL) { pending_obj = (oop)mon->object(); } }
< prev index next >