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 de1fefd20e..8b8a6fd420 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -671,6 +671,10 @@ class ClassLinker { REQUIRES_SHARED(Locks::mutator_lock_) REQUIRES(!Locks::dex_lock_); + // Visit all of the class loaders in the class linker. + void VisitClassLoaders(ClassLoaderVisitor* visitor) const + REQUIRES_SHARED(Locks::classlinker_classes_lock_, Locks::mutator_lock_); + struct DexCacheData { // Construct an invalid data object. DexCacheData() @@ -720,9 +724,6 @@ class ClassLinker { static void DeleteClassLoader(Thread* self, const ClassLoaderData& data) REQUIRES_SHARED(Locks::mutator_lock_); - void VisitClassLoaders(ClassLoaderVisitor* visitor) const - REQUIRES_SHARED(Locks::classlinker_classes_lock_, Locks::mutator_lock_); - void VisitClassesInternal(ClassVisitor* visitor) REQUIRES_SHARED(Locks::classlinker_classes_lock_, Locks::mutator_lock_); @@ -943,6 +944,17 @@ class ClassLinker { ArtMethod** out_imt) REQUIRES_SHARED(Locks::mutator_lock_); + mirror::MethodHandle* ResolveMethodHandleForField(Thread* self, + const DexFile::MethodHandleItem& method_handle, + ArtMethod* referrer) + REQUIRES_SHARED(Locks::mutator_lock_); + + mirror::MethodHandle* ResolveMethodHandleForMethod(Thread* self, + const DexFile* const dex_file, + const DexFile::MethodHandleItem& method_handle, + ArtMethod* referrer) + REQUIRES_SHARED(Locks::mutator_lock_); + // A wrapper class representing the result of a method translation used for linking methods and // updating superclass default methods. For each method in a classes vtable there are 4 states it // could be in: |