< prev index next >
src/hotspot/share/runtime/synchronizer.cpp
Print this page
rev 55936 : [mq]: 8229212.cr0
rev 55937 : 8229212: clear up CHECK_OWNER confusion in objectMonitor.cpp
Reviewed-by: dholmes
*** 427,439 ****
obj = h_obj();
}
assert(!obj->mark()->has_bias_pattern(), "biases should be revoked by now");
ObjectMonitor* monitor = inflate(THREAD, obj, inflate_cause_jni_exit);
! // If this thread has locked the object, exit the monitor. Note: can't use
! // monitor->check(CHECK); must exit even if an exception is pending.
! if (monitor->check(THREAD)) {
monitor->exit(true, THREAD);
}
}
// -----------------------------------------------------------------------------
--- 427,440 ----
obj = h_obj();
}
assert(!obj->mark()->has_bias_pattern(), "biases should be revoked by now");
ObjectMonitor* monitor = inflate(THREAD, obj, inflate_cause_jni_exit);
! // If this thread has locked the object, exit the monitor. We
! // intentionally do not use CHECK here because we must exit the
! // monitor even if an exception is pending.
! if (monitor->check_owner(THREAD)) {
monitor->exit(true, THREAD);
}
}
// -----------------------------------------------------------------------------
< prev index next >