< prev index next >

src/hotspot/share/runtime/objectMonitor.hpp

Print this page
rev 55489 : Checkpoint latest preliminary review patches for full OpenJDK review; merge with 8222295.patch.
rev 55490 : imported patch dcubed.monitor_deflate_conc.v2.01
rev 55492 : imported patch dcubed.monitor_deflate_conc.v2.03
rev 55494 : imported patch dcubed.monitor_deflate_conc.v2.05

*** 247,277 **** // TODO-FIXME: assert _owner == null implies _recursions = 0 // We do not include _ref_count in the is_busy() check because // _ref_count is for indicating that the ObjectMonitor* is in // use which is orthogonal to whether the ObjectMonitor itself // is in use for a locking operation. - return _contentions|_waiters|intptr_t(_owner)|intptr_t(_cxq)|intptr_t(_EntryList); - } - const char* is_busy_to_string(stringStream* ss); - - // Version of is_busy() that accounts for the special value in - // _owner when AsyncDeflateIdleMonitors is enabled. - intptr_t is_busy_async() const { intptr_t ret_code = _contentions | _waiters | intptr_t(_cxq) | intptr_t(_EntryList); if (!AsyncDeflateIdleMonitors) { ret_code |= intptr_t(_owner); } else { if (_owner != DEFLATER_MARKER) { ret_code |= intptr_t(_owner); } } return ret_code; } intptr_t is_entered(Thread* current) const; void* owner() const; // Returns NULL if DEFLATER_MARKER is observed. void set_owner(void* owner); jint waiters() const; jint contentions() const; --- 247,273 ---- // TODO-FIXME: assert _owner == null implies _recursions = 0 // We do not include _ref_count in the is_busy() check because // _ref_count is for indicating that the ObjectMonitor* is in // use which is orthogonal to whether the ObjectMonitor itself // is in use for a locking operation. intptr_t ret_code = _contentions | _waiters | intptr_t(_cxq) | intptr_t(_EntryList); if (!AsyncDeflateIdleMonitors) { ret_code |= intptr_t(_owner); } else { if (_owner != DEFLATER_MARKER) { ret_code |= intptr_t(_owner); } } return ret_code; } + const char* is_busy_to_string(stringStream* ss); intptr_t is_entered(Thread* current) const; void* owner() const; // Returns NULL if DEFLATER_MARKER is observed. + // Returns true if owner field == DEFLATER_MARKER and false otherwise. + bool owner_is_DEFLATER_MARKER(); void set_owner(void* owner); jint waiters() const; jint contentions() const;
< prev index next >