< prev index next >
src/hotspot/share/runtime/objectMonitor.inline.hpp
Print this page
*** 42,52 ****
assert((intptr_t)this == (intptr_t)&_header, "sync code expects this");
return &_header;
}
inline void ObjectMonitor::set_header(markWord hdr) {
! Atomic::store(hdr, &_header);
}
inline jint ObjectMonitor::waiters() const {
return _waiters;
}
--- 42,52 ----
assert((intptr_t)this == (intptr_t)&_header, "sync code expects this");
return &_header;
}
inline void ObjectMonitor::set_header(markWord hdr) {
! Atomic::store(&_header, hdr);
}
inline jint ObjectMonitor::waiters() const {
return _waiters;
}
*** 61,71 ****
assert(_waiters == 0, "must be 0: waiters=%d", _waiters);
assert(_recursions == 0, "must be 0: recursions=" INTX_FORMAT, _recursions);
assert(_object != NULL, "must be non-NULL");
assert(_owner == NULL, "must be NULL: owner=" INTPTR_FORMAT, p2i(_owner));
! Atomic::store(markWord::zero(), &_header);
_object = NULL;
}
inline void* ObjectMonitor::object() const {
return _object;
--- 61,71 ----
assert(_waiters == 0, "must be 0: waiters=%d", _waiters);
assert(_recursions == 0, "must be 0: recursions=" INTX_FORMAT, _recursions);
assert(_object != NULL, "must be non-NULL");
assert(_owner == NULL, "must be NULL: owner=" INTPTR_FORMAT, p2i(_owner));
! Atomic::store(&_header, markWord::zero());
_object = NULL;
}
inline void* ObjectMonitor::object() const {
return _object;
< prev index next >