< prev index next >
src/hotspot/share/runtime/synchronizer.cpp
Print this page
rev 55977 : imported patch 8229212.cr0
rev 55978 : 8229212: clear up CHECK_OWNER confusion in objectMonitor.cpp
Reviewed-by: dholmes
@@ -427,13 +427,14 @@
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)) {
+ // 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 >