< 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 >