src/hotspot/share/runtime/objectMonitor.inline.hpp
changeset 59248 e92153ed8bdc
parent 59156 14fa9e70ae71
equal deleted inserted replaced
59247:56bf71d64d51 59248:e92153ed8bdc
    42   assert((intptr_t)this == (intptr_t)&_header, "sync code expects this");
    42   assert((intptr_t)this == (intptr_t)&_header, "sync code expects this");
    43   return &_header;
    43   return &_header;
    44 }
    44 }
    45 
    45 
    46 inline void ObjectMonitor::set_header(markWord hdr) {
    46 inline void ObjectMonitor::set_header(markWord hdr) {
    47   Atomic::store(hdr, &_header);
    47   Atomic::store(&_header, hdr);
    48 }
    48 }
    49 
    49 
    50 inline jint ObjectMonitor::waiters() const {
    50 inline jint ObjectMonitor::waiters() const {
    51   return _waiters;
    51   return _waiters;
    52 }
    52 }
    61   assert(_waiters == 0, "must be 0: waiters=%d", _waiters);
    61   assert(_waiters == 0, "must be 0: waiters=%d", _waiters);
    62   assert(_recursions == 0, "must be 0: recursions=" INTX_FORMAT, _recursions);
    62   assert(_recursions == 0, "must be 0: recursions=" INTX_FORMAT, _recursions);
    63   assert(_object != NULL, "must be non-NULL");
    63   assert(_object != NULL, "must be non-NULL");
    64   assert(_owner == NULL, "must be NULL: owner=" INTPTR_FORMAT, p2i(_owner));
    64   assert(_owner == NULL, "must be NULL: owner=" INTPTR_FORMAT, p2i(_owner));
    65 
    65 
    66   Atomic::store(markWord::zero(), &_header);
    66   Atomic::store(&_header, markWord::zero());
    67   _object = NULL;
    67   _object = NULL;
    68 }
    68 }
    69 
    69 
    70 inline void* ObjectMonitor::object() const {
    70 inline void* ObjectMonitor::object() const {
    71   return _object;
    71   return _object;