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