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