diff options
Diffstat (limited to 'runtime/mirror')
-rw-r--r-- | runtime/mirror/class-inl.h | 4 | ||||
-rw-r--r-- | runtime/mirror/class.h | 6 |
2 files changed, 8 insertions, 2 deletions
diff --git a/runtime/mirror/class-inl.h b/runtime/mirror/class-inl.h index 97052f1ea2..c368dc6d04 100644 --- a/runtime/mirror/class-inl.h +++ b/runtime/mirror/class-inl.h @@ -45,7 +45,7 @@ inline uint32_t Class::GetObjectSize() { bool is_variable_size = IsVariableSize<kVerifyFlags, kReadBarrierOption>(); CHECK(!is_variable_size) << " class=" << PrettyTypeOf(this); } - return GetField32(OFFSET_OF_OBJECT_MEMBER(Class, object_size_)); + return GetField32(ObjectSizeOffset()); } inline Class* Class::GetSuperClass() { @@ -523,7 +523,7 @@ inline uint32_t Class::GetAccessFlags() { << " IsArtField=" << (this == ArtField::GetJavaLangReflectArtField()) << " IsArtMethod=" << (this == ArtMethod::GetJavaLangReflectArtMethod()) << " descriptor=" << PrettyDescriptor(this); - return GetField32<kVerifyFlags>(OFFSET_OF_OBJECT_MEMBER(Class, access_flags_)); + return GetField32<kVerifyFlags>(AccessFlagsOffset()); } inline String* Class::GetName() { diff --git a/runtime/mirror/class.h b/runtime/mirror/class.h index e7f7c6e96c..2dff3835b1 100644 --- a/runtime/mirror/class.h +++ b/runtime/mirror/class.h @@ -204,6 +204,9 @@ class MANAGED Class FINAL : public Object { template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags> ALWAYS_INLINE uint32_t GetAccessFlags() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + static MemberOffset AccessFlagsOffset() { + return OFFSET_OF_OBJECT_MEMBER(Class, access_flags_); + } void SetAccessFlags(uint32_t new_access_flags) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); @@ -527,6 +530,9 @@ class MANAGED Class FINAL : public Object { template<VerifyObjectFlags kVerifyFlags = kDefaultVerifyFlags, ReadBarrierOption kReadBarrierOption = kWithReadBarrier> uint32_t GetObjectSize() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + static MemberOffset ObjectSizeOffset() { + return OFFSET_OF_OBJECT_MEMBER(Class, object_size_); + } void SetObjectSize(uint32_t new_object_size) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { DCHECK(!IsVariableSize()); |