diff options
Diffstat (limited to 'runtime/class_linker.h')
| -rw-r--r-- | runtime/class_linker.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/runtime/class_linker.h b/runtime/class_linker.h index 33eed3c8e3..a26e63b49e 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -247,7 +247,7 @@ class ClassLinker { // result in the DexCache if found. Return null if not found. mirror::String* LookupString(const DexFile& dex_file, dex::StringIndex string_idx, - Handle<mirror::DexCache> dex_cache) + ObjPtr<mirror::DexCache> dex_cache) REQUIRES_SHARED(Locks::mutator_lock_); // Resolve a Type with the given index from the DexFile, storing the @@ -333,7 +333,7 @@ class ClassLinker { REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::dex_lock_, !Roles::uninterruptible_); - ArtField* GetResolvedField(uint32_t field_idx, ObjPtr<mirror::DexCache> dex_cache) + ArtField* LookupResolvedField(uint32_t field_idx, ArtMethod* referrer, bool is_static) REQUIRES_SHARED(Locks::mutator_lock_); ArtField* ResolveField(uint32_t field_idx, ArtMethod* referrer, bool is_static) REQUIRES_SHARED(Locks::mutator_lock_) @@ -544,6 +544,10 @@ class ClassLinker { void SetEntryPointsToInterpreter(ArtMethod* method) const REQUIRES_SHARED(Locks::mutator_lock_); + // Set the entrypoints up for an obsolete method. + void SetEntryPointsForObsoleteMethod(ArtMethod* method) const + REQUIRES_SHARED(Locks::mutator_lock_); + // Attempts to insert a class into a class table. Returns null if // the class was inserted, otherwise returns an existing class with // the same descriptor and ClassLoader. @@ -617,7 +621,8 @@ class ClassLinker { std::set<DexCacheResolvedClasses> GetResolvedClasses(bool ignore_boot_classes) REQUIRES(!Locks::dex_lock_); - std::unordered_set<std::string> GetClassDescriptorsForProfileKeys( + // Returns the class descriptors for loaded dex files. + std::unordered_set<std::string> GetClassDescriptorsForResolvedClasses( const std::set<DexCacheResolvedClasses>& classes) REQUIRES(!Locks::dex_lock_); @@ -841,6 +846,13 @@ class ClassLinker { REQUIRES(!Locks::classlinker_classes_lock_) REQUIRES_SHARED(Locks::mutator_lock_); + // Find a field by its field index. + ArtField* LookupResolvedField(uint32_t field_idx, + ObjPtr<mirror::DexCache> dex_cache, + ObjPtr<mirror::ClassLoader> class_loader, + bool is_static) + REQUIRES_SHARED(Locks::mutator_lock_); + void RegisterDexFileLocked(const DexFile& dex_file, ObjPtr<mirror::DexCache> dex_cache, ObjPtr<mirror::ClassLoader> class_loader) |