diff options
Diffstat (limited to 'runtime/mirror/dex_cache.h')
-rw-r--r-- | runtime/mirror/dex_cache.h | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/runtime/mirror/dex_cache.h b/runtime/mirror/dex_cache.h index 843f860..11a4002 100644 --- a/runtime/mirror/dex_cache.h +++ b/runtime/mirror/dex_cache.h @@ -53,7 +53,7 @@ class MANAGED DexCache : public Object { void Fixup(ArtMethod* trampoline) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); String* GetLocation() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - return GetFieldObject<String>(OFFSET_OF_OBJECT_MEMBER(DexCache, location_), false); + return GetFieldObject<String>(OFFSET_OF_OBJECT_MEMBER(DexCache, location_)); } static MemberOffset StringsOffset() { @@ -88,17 +88,18 @@ class MANAGED DexCache : public Object { return GetStrings()->Get(string_idx); } - void SetResolvedString(uint32_t string_idx, String* resolved) + void SetResolvedString(uint32_t string_idx, String* resolved) ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { // TODO default transaction support. GetStrings()->Set(string_idx, resolved); } - Class* GetResolvedType(uint32_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + Class* GetResolvedType(uint32_t type_idx) ALWAYS_INLINE + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { return GetResolvedTypes()->Get(type_idx); } - void SetResolvedType(uint32_t type_idx, Class* resolved) + void SetResolvedType(uint32_t type_idx, Class* resolved) ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { // TODO default transaction support. GetResolvedTypes()->Set(type_idx, resolved); @@ -106,43 +107,47 @@ class MANAGED DexCache : public Object { ArtMethod* GetResolvedMethod(uint32_t method_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); - void SetResolvedMethod(uint32_t method_idx, ArtMethod* resolved) + void SetResolvedMethod(uint32_t method_idx, ArtMethod* resolved) ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { GetResolvedMethods()->Set(method_idx, resolved); } - ArtField* GetResolvedField(uint32_t field_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + ArtField* GetResolvedField(uint32_t field_idx) ALWAYS_INLINE + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { return GetResolvedFields()->Get(field_idx); } - void SetResolvedField(uint32_t field_idx, ArtField* resolved) + void SetResolvedField(uint32_t field_idx, ArtField* resolved) ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { GetResolvedFields()->Set(field_idx, resolved); } - ObjectArray<String>* GetStrings() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - return GetFieldObject< ObjectArray<String> >(StringsOffset(), false); + ObjectArray<String>* GetStrings() ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + return GetFieldObject< ObjectArray<String> >(StringsOffset()); } - ObjectArray<Class>* GetResolvedTypes() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + ObjectArray<Class>* GetResolvedTypes() ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { return GetFieldObject<ObjectArray<Class> >( - OFFSET_OF_OBJECT_MEMBER(DexCache, resolved_types_), false); + OFFSET_OF_OBJECT_MEMBER(DexCache, resolved_types_)); } - ObjectArray<ArtMethod>* GetResolvedMethods() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - return GetFieldObject< ObjectArray<ArtMethod> >(ResolvedMethodsOffset(), false); + ObjectArray<ArtMethod>* GetResolvedMethods() ALWAYS_INLINE + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + return GetFieldObject< ObjectArray<ArtMethod> >(ResolvedMethodsOffset()); } - ObjectArray<ArtField>* GetResolvedFields() SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { - return GetFieldObject<ObjectArray<ArtField> >(ResolvedFieldsOffset(), false); + ObjectArray<ArtField>* GetResolvedFields() ALWAYS_INLINE + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + return GetFieldObject<ObjectArray<ArtField> >(ResolvedFieldsOffset()); } - const DexFile* GetDexFile() { - return GetFieldPtr<const DexFile*>(OFFSET_OF_OBJECT_MEMBER(DexCache, dex_file_), false); + const DexFile* GetDexFile() ALWAYS_INLINE SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) { + return GetFieldPtr<const DexFile*>(OFFSET_OF_OBJECT_MEMBER(DexCache, dex_file_)); } - void SetDexFile(const DexFile* dex_file) { - return SetFieldPtr<false>(OFFSET_OF_OBJECT_MEMBER(DexCache, dex_file_), dex_file, false); + void SetDexFile(const DexFile* dex_file) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_) + ALWAYS_INLINE { + return SetFieldPtr<false>(OFFSET_OF_OBJECT_MEMBER(DexCache, dex_file_), dex_file); } private: |