equal
deleted
inserted
replaced
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; |