diff options
Diffstat (limited to 'runtime/mirror/object.h')
| -rw-r--r-- | runtime/mirror/object.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/runtime/mirror/object.h b/runtime/mirror/object.h index a89d6323a5..f92ff1e2af 100644 --- a/runtime/mirror/object.h +++ b/runtime/mirror/object.h @@ -159,6 +159,8 @@ class MANAGED LOCKABLE Object { REQUIRES_SHARED(Locks::mutator_lock_); bool CasLockWordWeakRelease(LockWord old_val, LockWord new_val) REQUIRES_SHARED(Locks::mutator_lock_); + bool CasLockWordStrongRelaxed(LockWord old_val, LockWord new_val) + REQUIRES_SHARED(Locks::mutator_lock_); uint32_t GetLockOwnerThreadId(); // Try to enter the monitor, returns non null if we succeeded. @@ -539,6 +541,14 @@ class MANAGED LOCKABLE Object { template<bool kTransactionActive, bool kCheckTransaction = true, VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> + ALWAYS_INLINE bool CasFieldStrongRelaxed32(MemberOffset field_offset, + int32_t old_value, + int32_t new_value) + REQUIRES_SHARED(Locks::mutator_lock_); + + template<bool kTransactionActive, + bool kCheckTransaction = true, + VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> ALWAYS_INLINE bool CasFieldWeakAcquire32(MemberOffset field_offset, int32_t old_value, int32_t new_value) |