diff options
Diffstat (limited to 'runtime/class_linker.h')
-rw-r--r-- | runtime/class_linker.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/runtime/class_linker.h b/runtime/class_linker.h index 158816d193..11ac326c47 100644 --- a/runtime/class_linker.h +++ b/runtime/class_linker.h @@ -76,6 +76,12 @@ class ClassLinker { ConstHandle<mirror::ClassLoader> class_loader) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + // Find a class in the path class loader, loading it if necessary. + mirror::Class* FindClassInPathClassLoader(ScopedObjectAccessAlreadyRunnable& soa, + Thread* self, const char* descriptor, + ConstHandle<mirror::ClassLoader> class_loader) + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + // Finds a class by its descriptor using the "system" class loader, ie by searching the // boot_class_path_. mirror::Class* FindSystemClass(Thread* self, const char* descriptor) @@ -632,6 +638,11 @@ class ClassLinker { ConstHandle<mirror::ArtMethod> prototype) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + // Ensures that methods have the kAccPreverified bit set. We use the kAccPreverfied bit on the + // class access flags to determine whether this has been done before. + void EnsurePreverifiedMethods(ConstHandle<mirror::Class> c) + SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); + mirror::Class* LookupClassFromTableLocked(const char* descriptor, const mirror::ClassLoader* class_loader, size_t hash) |