diff options
Diffstat (limited to 'runtime/mirror/object.h')
-rw-r--r-- | runtime/mirror/object.h | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/runtime/mirror/object.h b/runtime/mirror/object.h index 816ac69b29..25b86a527d 100644 --- a/runtime/mirror/object.h +++ b/runtime/mirror/object.h @@ -347,21 +347,6 @@ class MANAGED LOCKABLE Object { ObjPtr<Object> old_value, ObjPtr<Object> new_value) REQUIRES_SHARED(Locks::mutator_lock_); - - template<bool kTransactionActive, - bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - ObjPtr<Object> CompareAndExchangeFieldObject(MemberOffset field_offset, - ObjPtr<Object> old_value, - ObjPtr<Object> new_value) - REQUIRES_SHARED(Locks::mutator_lock_); - - template<bool kTransactionActive, - bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - ObjPtr<Object> ExchangeFieldObject(MemberOffset field_offset, ObjPtr<Object> new_value) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> @@ -607,52 +592,6 @@ class MANAGED LOCKABLE Object { field_offset, reinterpret_cast64<int64_t>(new_value)); } } - - // Base class for accessors used to describe accesses performed by VarHandle methods. - template <typename T> - class Accessor { - public: - virtual ~Accessor() { - static_assert(std::is_arithmetic<T>::value, "unsupported type"); - } - virtual void Access(T* field_address) = 0; - }; - - // Getter method that exposes the raw address of a primitive value-type field to an Accessor - // instance. This are used by VarHandle accessor methods to read fields with a wider range of - // memory orderings than usually required. - template<typename T, VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void GetPrimitiveFieldViaAccessor(MemberOffset field_offset, Accessor<T>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - - // Update methods that expose the raw address of a primitive value-type to an Accessor instance - // that will attempt to update the field. These are used by VarHandle accessor methods to - // atomically update fields with a wider range of memory orderings than usually required. - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateFieldBooleanViaAccessor(MemberOffset field_offset, Accessor<uint8_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateFieldByteViaAccessor(MemberOffset field_offset, Accessor<int8_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateFieldCharViaAccessor(MemberOffset field_offset, Accessor<uint16_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateFieldShortViaAccessor(MemberOffset field_offset, Accessor<int16_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateField32ViaAccessor(MemberOffset field_offset, Accessor<int32_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - template<bool kTransactionActive, bool kCheckTransaction = true, - VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> - void UpdateField64ViaAccessor(MemberOffset field_offset, Accessor<int64_t>* accessor) - REQUIRES_SHARED(Locks::mutator_lock_); - // TODO fix thread safety analysis broken by the use of template. This should be // REQUIRES_SHARED(Locks::mutator_lock_). template <bool kVisitNativeRoots = true, |