Home | History | Annotate | Download | only in runtime

Lines Matching refs:ClassLinker

159 static bool HasInitWithString(Thread* self, ClassLinker* class_linker, const char* descriptor)
191 ClassLinker* class_linker,
235 void ClassLinker::ThrowEarlierClassFailure(ObjPtr<mirror::Class> c,
406 ClassLinker::ClassLinker(InternTable* intern_table, bool fast_class_not_found_exceptions)
429 void ClassLinker::CheckSystemClass(Thread* self, Handle<mirror::Class> c1, const char* descriptor) {
447 bool ClassLinker::InitWithoutImage(std::vector<std::unique_ptr<const DexFile>> boot_class_path,
449 VLOG(startup) << "ClassLinker::Init";
835 VLOG(startup) << "ClassLinker::InitFromCompiler exiting";
840 static void CreateStringInitBindings(Thread* self, ClassLinker* class_linker)
852 void ClassLinker::FinishInit(Thread* self) {
853 VLOG(startup) << "ClassLinker::FinishInit entering";
917 VLOG(startup) << "ClassLinker::FinishInit exiting";
920 void ClassLinker::RunRootClinits(Thread* self) {
944 bool ClassLinker::InitFromBootImage(std::string* error_msg) {
1104 void ClassLinker::AddExtraBootDexFiles(
1113 bool ClassLinker::IsBootClassLoader(ScopedObjectAccessAlreadyRunnable& soa,
1183 if (ClassLinker::IsBootClassLoader(soa, class_loader)) {
1184 if (!ClassLinker::IsBootClassLoader(soa, image_class_loader)) {
1188 } else if (ClassLinker::IsBootClassLoader(soa, image_class_loader)) {
1242 if (ClassLinker::IsBootClassLoader(soa, class_loader)) {
1433 // Note: using a class here to avoid having to make ClassLinker internals public.
1437 ClassLinker* class_linker,
1456 ClassLinker* class_linker,
1535 if (ClassLinker::kAppImageMayContainStrings) {
1568 << "ClassLinker:AppImage:InternStrings:imageStringReferenceOffsetCount = "
1772 bool ClassLinker::OpenImageDexFiles(gc::space::ImageSpace* space,
1801 static void CheckObjects(gc::Heap* heap, ClassLinker* class_linker)
1847 ClassLinker* class_linker,
1856 ImageSanityChecks(gc::Heap* heap, ClassLinker* class_linker)
1985 bool ClassLinker::AddImageSpace(
2250 bool ClassLinker::ClassInClassTable(ObjPtr<mirror::Class> klass) {
2255 void ClassLinker::VisitClassRoots(RootVisitor* visitor, VisitRootFlags flags) {
2332 // reinit references to when reinitializing a ClassLinker from a
2334 void ClassLinker::VisitRoots(RootVisitor* visitor, VisitRootFlags flags) {
2386 void ClassLinker::VisitClassesInternal(ClassVisitor* visitor) {
2393 void ClassLinker::VisitClasses(ClassVisitor* visitor) {
2437 void ClassLinker::VisitClassesWithoutClassesLock(ClassVisitor* visitor) {
2484 ClassLinker::~ClassLinker() {
2494 void ClassLinker::DeleteClassLoader(Thread* self, const ClassLoaderData& data, bool cleanup_cha) {
2519 ObjPtr<mirror::PointerArray> ClassLinker::AllocPointerArray(Thread* self, size_t length) {
2526 ObjPtr<mirror::DexCache> ClassLinker::AllocDexCache(/*out*/ ObjPtr<mirror::String>* out_location,
2546 ObjPtr<mirror::DexCache> ClassLinker::AllocAndInitializeDexCache(Thread* self,
2565 ObjPtr<mirror::Class> ClassLinker::AllocClass(Thread* self,
2581 ObjPtr<mirror::Class> ClassLinker::AllocClass(Thread* self, uint32_t class_size) {
2585 ObjPtr<mirror::Class> ClassLinker::AllocPrimitiveArrayClass(Thread* self,
2597 ObjPtr<mirror::ObjectArray<mirror::StackTraceElement>> ClassLinker::AllocStackTraceElementArray(
2604 ObjPtr<mirror::Class> ClassLinker::EnsureResolved(Thread* self,
2695 bool ClassLinker::FindClassInSharedLibraries(ScopedObjectAccessAlreadyRunnable& soa,
2724 bool ClassLinker::FindClassInBaseDexClassLoader(ScopedObjectAccessAlreadyRunnable& soa,
2812 ClassLinker* class_linker)
2824 ALWAYS_INLINE void FilterDexFileCaughtExceptions(Thread* self, ClassLinker* class_linker)
2835 ObjPtr<mirror::Class> ClassLinker::FindClassInBootClassLoaderClassPath(Thread* self,
2860 ObjPtr<mirror::Class> ClassLinker::FindClassInBaseDexClassLoaderClassPath(
2897 ObjPtr<mirror::Class> ClassLinker::FindClass(Thread* self,
3094 ObjPtr<mirror::Class> ClassLinker::DefineClass(Thread* self,
3278 uint32_t ClassLinker::SizeOfClassWithoutEmbeddedTables(const DexFile& dex_file,
3337 const void* ClassLinker::GetQuickOatCodeFor(ArtMethod* method) {
3353 bool ClassLinker::ShouldUseInterpreterEntrypoint(ArtMethod* method, const void* quick_code) {
3414 void ClassLinker::FixupStaticTrampolines(ObjPtr<mirror::Class> klass) {
3467 inline void EnsureThrowsInvocationError(ClassLinker* class_linker, ArtMethod* method) {
3475 static void LinkCode(ClassLinker* class_linker,
3505 // It will be replaced by the proper entry point by ClassLinker::FixupStaticTrampolines
3506 // after initializing class (see ClassLinker::InitializeClass method).
3530 void ClassLinker::SetupClass(const DexFile& dex_file,
3552 LengthPrefixedArray<ArtField>* ClassLinker::AllocArtFieldArray(Thread* self,
3568 LengthPrefixedArray<ArtMethod>* ClassLinker::AllocArtMethodArray(Thread* self,
3587 LinearAlloc* ClassLinker::GetAllocatorForClassLoader(ObjPtr<mirror::ClassLoader> class_loader) {
3596 LinearAlloc* ClassLinker::GetOrCreateAllocatorForClassLoader(ObjPtr<mirror::ClassLoader> class_loader) {
3610 void ClassLinker::LoadClass(Thread* self,
3721 void ClassLinker::LoadField(const ClassAccessor::Field& field,
3732 void ClassLinker::LoadMethod(const DexFile& dex_file,
3794 void ClassLinker::AppendToBootClassPath(Thread* self, const DexFile& dex_file) {
3803 void ClassLinker::AppendToBootClassPath(const DexFile& dex_file,
3811 void ClassLinker::RegisterDexFileLocked(const DexFile& dex_file,
3881 ObjPtr<mirror::DexCache> ClassLinker::DecodeDexCache(Thread* self, const DexCacheData& data) {
3887 ObjPtr<mirror::DexCache> ClassLinker::EnsureSameClassLoader(
3902 void ClassLinker::RegisterExistingDexCache(ObjPtr<mirror::DexCache> dex_cache,
3940 ObjPtr<mirror::DexCache> ClassLinker::RegisterDexFile(const DexFile& dex_file,
4012 bool ClassLinker::IsDexFileRegistered(Thread* self, const DexFile& dex_file) {
4017 ObjPtr<mirror::DexCache> ClassLinker::FindDexCache(Thread* self, const DexFile& dex_file) {
4035 ClassTable* ClassLinker::FindClassTable(Thread* self, ObjPtr<mirror::DexCache> dex_cache) {
4053 ClassLinker::DexCacheData ClassLinker::FindDexCacheDataLocked(const DexFile& dex_file) {
4064 ObjPtr<mirror::Class> ClassLinker::CreatePrimitiveClass(Thread* self, Primitive::Type type) {
4088 inline ObjPtr<mirror::IfTable> ClassLinker::GetArrayIfTable() {
4105 ObjPtr<mirror::Class> ClassLinker::CreateArrayClass(Thread* self,
4282 ObjPtr<mirror::Class> ClassLinker::LookupPrimitiveClass(char type) {
4300 ObjPtr<mirror::Class> ClassLinker::FindPrimitiveClass(char type) {
4309 ObjPtr<mirror::Class> ClassLinker::InsertClass(const char* descriptor,
4349 void ClassLinker::WriteBarrierForBootOatFileBssRoots(const OatFile* oat_file) {
4358 void ClassLinker::UpdateClassMethods(ObjPtr<mirror::Class> klass,
4367 ObjPtr<mirror::Class> ClassLinker::LookupClass(Thread* self,
4373 ObjPtr<mirror::Class> ClassLinker::LookupClass(Thread* self,
4402 void ClassLinker::MoveClassTableToPreZygote() {
4435 void ClassLinker::LookupClasses(const char* descriptor,
4450 bool ClassLinker::AttemptSupertypeVerification(Thread* self,
4493 verifier::FailureKind ClassLinker::VerifyClass(
4697 verifier::FailureKind ClassLinker::PerformClassVerification(Thread* self,
4711 bool ClassLinker::VerifyClassUsingOatFile(const DexFile& dex_file,
4799 void ClassLinker::ResolveClassExceptionHandlerTypes(Handle<mirror::Class> klass) {
4805 void ClassLinker::ResolveMethodExceptionHandlerTypes(ArtMethod* method) {
4833 ObjPtr<mirror::Class> ClassLinker::CreateProxyClass(ScopedObjectAccessAlreadyRunnable& soa,
4974 // See also ClassLinker::EnsureInitialized().
5017 void ClassLinker::CreateProxyConstructor(Handle<mirror::Class> klass, ArtMethod* out) {
5045 void ClassLinker::CheckProxyConstructor(ArtMethod* constructor) const {
5053 void ClassLinker::CreateProxyMethod(Handle<mirror::Class> klass, ArtMethod* prototype,
5082 void ClassLinker::CheckProxyMethod(ArtMethod* method, ArtMethod* prototype) const {
5094 bool ClassLinker::CanWeInitializeClass(ObjPtr<mirror::Class> klass, bool can_init_statics,
5136 bool ClassLinker::InitializeClass(Thread* self, Handle<mirror::Class> klass,
5431 bool ClassLinker::InitializeDefaultInterfaceRecursive(Thread* self,
5482 bool ClassLinker::WaitForInitializeClass(Handle<mirror::Class> klass,
5671 bool ClassLinker::ValidateSuperClassDescriptors(Handle<mirror::Class> klass) {
5721 bool ClassLinker::EnsureInitialized(Thread* self,
5757 void ClassLinker::FixupTemporaryDeclaringClass(ObjPtr<mirror::Class> temp_class,
5786 void ClassLinker::RegisterClassLoader(ObjPtr<mirror::ClassLoader> class_loader) {
5802 ClassTable* ClassLinker::InsertClassTableForClassLoader(ObjPtr<mirror::ClassLoader> class_loader) {
5815 ClassTable* ClassLinker::ClassTableForClassLoader(ObjPtr<mirror::ClassLoader> class_loader) {
5830 bool ClassLinker::LinkClass(Thread* self,
5970 bool ClassLinker::LoadSuperAndInterfaces(Handle<mirror::Class> klass, const DexFile& dex_file) {
6028 bool ClassLinker::LinkSuperClass(Handle<mirror::Class> klass) {
6106 bool ClassLinker::LinkMethods(Thread* self,
6115 std::unordered_map<size_t, ClassLinker::MethodTranslation> default_translations;
6245 bool ClassLinker::LinkVirtualMethods(
6248 /*out*/std::unordered_map<size_t, ClassLinker::MethodTranslation>* default_translations) {
6386 {j, ClassLinker::MethodTranslation::CreateConflictingMethod()});
6395 {j, ClassLinker::MethodTranslation::CreateAbstractMethod()});
6414 {j, ClassLinker::MethodTranslation::CreateTranslatedMethod(default_method)});
6531 ClassLinker::DefaultMethodSearchResult ClassLinker::FindDefaultMethodImplementation(
6643 ArtMethod* ClassLinker::AddMethodToConflictTable(ObjPtr<mirror::Class> klass,
6682 bool ClassLinker::AllocateIfTableMethodArrays(Thread* self,
6718 void ClassLinker::SetIMTRef(ArtMethod* unimplemented_method,
6749 void ClassLinker::FillIMTAndConflictTables(ObjPtr<mirror::Class> klass) {
6811 ImtConflictTable* ClassLinker::CreateImtConflictTable(size_t count,
6820 ImtConflictTable* ClassLinker::CreateImtConflictTable(size_t count, LinearAlloc* linear_alloc) {
6824 void ClassLinker::FillIMTFromIfTable(ObjPtr<mirror::IfTable> if_table,
7036 bool ClassLinker::SetupInterfaceLookupTable(Thread* self, Handle<mirror::Class> klass,
7371 void ClassLinker::FillImtFromSuperClass(Handle<mirror::Class> klass,
7400 class ClassLinker::LinkInterfaceMethodsHelper {
7402 LinkInterfaceMethodsHelper(ClassLinker* class_linker,
7441 const std::unordered_map<size_t, ClassLinker::MethodTranslation>& default_translations,
7514 ClassLinker* class_linker_;
7537 ArtMethod* ClassLinker::LinkInterfaceMethodsHelper::FindMethod(
7629 ArtMethod* ClassLinker::LinkInterfaceMethodsHelper::GetOrCreateMirandaMethod(
7646 void ClassLinker::LinkInterfaceMethodsHelper::ReallocMethods() {
7768 ObjPtr<mirror::PointerArray> ClassLinker::LinkInterfaceMethodsHelper::UpdateVtable(
7769 const std::unordered_map<size_t, ClassLinker::MethodTranslation>& default_translations,
7861 void ClassLinker::LinkInterfaceMethodsHelper::UpdateIfTable(Handle<mirror::IfTable> iftable) {
7880 void ClassLinker::LinkInterfaceMethodsHelper::UpdateIMT(ArtMethod** out_imt) {
7891 bool ClassLinker::LinkInterfaceMethods(
7894 const std::unordered_map<size_t, ClassLinker::MethodTranslation>& default_translations,
8134 bool ClassLinker::LinkInstanceFields(Thread* self, Handle<mirror::Class> klass) {
8139 bool ClassLinker::LinkStaticFields(Thread* self, Handle<mirror::Class> klass, size_t* class_size) {
8178 bool ClassLinker::LinkFields(Thread* self,
8365 void ClassLinker::CreateReferenceInstanceOffsets(Handle<mirror::Class> klass) {
8393 ObjPtr<mirror::String> ClassLinker::DoResolveString(dex::StringIndex string_idx,
8400 ObjPtr<mirror::String> ClassLinker::DoResolveString(dex::StringIndex string_idx,
8412 ObjPtr<mirror::String> ClassLinker::DoLookupString(dex::StringIndex string_idx,
8426 ObjPtr<mirror::Class> ClassLinker::DoLookupResolvedType(dex::TypeIndex type_idx,
8431 ObjPtr<mirror::Class> ClassLinker::DoLookupResolvedType(dex::TypeIndex type_idx,
8460 ObjPtr<mirror::Class> ClassLinker::DoResolveType(dex::TypeIndex type_idx, T referrer) {
8468 template ObjPtr<mirror::Class> ClassLinker::DoResolveType(dex::TypeIndex type_idx,
8470 template ObjPtr<mirror::Class> ClassLinker::DoResolveType(dex::TypeIndex type_idx,
8472 template ObjPtr<mirror::Class> ClassLinker::DoResolveType(dex::TypeIndex type_idx,
8475 ObjPtr<mirror::Class> ClassLinker::DoResolveType(dex::TypeIndex type_idx,
8504 ArtMethod* ClassLinker::FindResolvedMethod(ObjPtr<mirror::Class> klass,
8556 ArtMethod* ClassLinker::FindIncompatibleMethod(ObjPtr<mirror::Class> klass,
8576 template <ClassLinker::ResolveMode kResolveMode>
8577 ArtMethod* ClassLinker::ResolveMethod(uint32_t method_idx,
8666 ArtMethod* ClassLinker::ResolveMethodWithoutInvokeType(uint32_t method_idx,
8698 ArtField* ClassLinker::LookupResolvedField(uint32_t field_idx,
8717 ArtField* ClassLinker::ResolveField(uint32_t field_idx,
8744 ArtField* ClassLinker::ResolveFieldJLS(uint32_t field_idx,
8770 ArtField* ClassLinker::FindResolvedField(ObjPtr<mirror::Class> klass,
8804 ArtField* ClassLinker::FindResolvedFieldJLS(ObjPtr<mirror::Class> klass,
8831 ObjPtr<mirror::MethodType> ClassLinker::ResolveMethodType(
8893 ObjPtr<mirror::MethodType> ClassLinker::ResolveMethodType(Thread* self,
8902 ObjPtr<mirror::MethodHandle> ClassLinker::ResolveMethodHandleForField(
9030 ObjPtr<mirror::MethodHandle> ClassLinker::ResolveMethodHandleForMethod(
9206 ObjPtr<mirror::MethodHandle> ClassLinker::ResolveMethodHandle(Thread* self,
9227 bool ClassLinker::IsQuickResolutionStub(const void* entry_point) const {
9232 bool ClassLinker::IsQuickToInterpreterBridge(const void* entry_point) const {
9237 bool ClassLinker::IsQuickGenericJniStub(const void* entry_point) const {
9242 bool ClassLinker::IsJniDlsymLookupStub(const void* entry_point) const {
9246 const void* ClassLinker::GetRuntimeQuickGenericJniStub() const {
9250 void ClassLinker::SetEntryPointsToInterpreter(ArtMethod* method) const {
9258 void ClassLinker::SetEntryPointsForObsoleteMethod(ArtMethod* method) const {
9267 void ClassLinker::DumpForSigQuit(std::ostream& os) {
9334 size_t ClassLinker::NumZygoteClasses() const {
9340 size_t ClassLinker::NumNonZygoteClasses() const {
9346 size_t ClassLinker::NumLoadedClasses() {
9352 pid_t ClassLinker::GetClassesLockOwner() {
9356 pid_t ClassLinker::GetDexLockOwner() {
9360 ClassLinker::SetClassRoot(ClassRoot class_root, ObjPtr<mirror::Class> klass) {
9374 void ClassLinker::AllocAndSetPrimitiveArrayClassRoot(Thread* self,
9387 ObjPtr<mirror::ClassLoader> ClassLinker::CreateWellKnownClassLoader(
9518 jobject ClassLinker::CreateWellKnownClassLoader(Thread* self,
9557 jobject ClassLinker::CreatePathClassLoader(Thread* self,
9565 void ClassLinker::DropFindArrayClassCache() {
9570 void ClassLinker::VisitClassLoaders(ClassLoaderVisitor* visitor) const {
9582 void ClassLinker::VisitAllocators(AllocatorVisitor* visitor) const {
9591 void ClassLinker::InsertDexFileInToClassLoader(ObjPtr<mirror::Object> dex_file,
9605 void ClassLinker::CleanupClassLoaders() {
9708 std::set<DexCacheResolvedClasses> ClassLinker::GetResolvedClasses(bool ignore_boot_classes) {
9724 class ClassLinker::FindVirtualMethodHolderVisitor : public ClassVisitor {
9743 ObjPtr<mirror::Class> ClassLinker::GetHoldingClassOfCopiedMethod(ArtMethod* method) {
9751 ObjPtr<mirror::IfTable> ClassLinker::AllocIfTable(Thread* self, size_t ifcount) {
9758 // Instantiate ClassLinker::ResolveMethod.
9759 template ArtMethod* ClassLinker::ResolveMethod<ClassLinker::ResolveMode::kCheckICCEAndIAE>(
9765 template ArtMethod* ClassLinker::ResolveMethod<ClassLinker::ResolveMode::kNoChecks>(
9772 // Instantiate ClassLinker::AllocClass.
9773 template ObjPtr<mirror::Class> ClassLinker::AllocClass</* kMovable= */ true>(
9777 template ObjPtr<mirror::Class> ClassLinker::AllocClass</* kMovable= */ false>(