diff options
Diffstat (limited to 'runtime/mirror/object-inl.h')
-rw-r--r-- | runtime/mirror/object-inl.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/runtime/mirror/object-inl.h b/runtime/mirror/object-inl.h index a6db387a08..2505855831 100644 --- a/runtime/mirror/object-inl.h +++ b/runtime/mirror/object-inl.h @@ -51,13 +51,14 @@ inline void Object::SetClass(Class* new_klass) { OFFSET_OF_OBJECT_MEMBER(Object, klass_), new_klass, false); } -inline LockWord Object::GetLockWord() { - return LockWord(GetField32(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), true)); +inline LockWord Object::GetLockWord(bool is_volatile) { + return LockWord(GetField32(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), is_volatile)); } -inline void Object::SetLockWord(LockWord new_val) { +inline void Object::SetLockWord(LockWord new_val, bool is_volatile) { // Force use of non-transactional mode and do not check. - SetField32<false, false>(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), new_val.GetValue(), true); + SetField32<false, false>(OFFSET_OF_OBJECT_MEMBER(Object, monitor_), new_val.GetValue(), + is_volatile); } inline bool Object::CasLockWord(LockWord old_val, LockWord new_val) { |