Lines Matching refs:Class
89 static void ThrowEarlierClassFailure(mirror::Class* c) in ThrowEarlierClassFailure()
190 memset(find_array_class_cache_, 0, kFindArrayCacheSize * sizeof(mirror::Class*)); in ClassLinker()
211 Handle<mirror::Class> java_lang_Class(hs.NewHandle(down_cast<mirror::Class*>( in InitWithoutImage()
213 mirror::Class::ClassClassSize(), in InitWithoutImage()
216 mirror::Class::SetClassClass(java_lang_Class.Get()); in InitWithoutImage()
221 java_lang_Class->SetClassSize(mirror::Class::ClassClassSize()); in InitWithoutImage()
226 Handle<mirror::Class> class_array_class(hs.NewHandle( in InitWithoutImage()
227 AllocClass(self, java_lang_Class.Get(), mirror::ObjectArray<mirror::Class>::ClassSize()))); in InitWithoutImage()
231 Handle<mirror::Class> java_lang_Object(hs.NewHandle( in InitWithoutImage()
236 java_lang_Object->SetStatus(mirror::Class::kStatusLoaded, self); in InitWithoutImage()
239 Handle<mirror::Class> object_array_class(hs.NewHandle( in InitWithoutImage()
244 Handle<mirror::Class> char_class(hs.NewHandle( in InitWithoutImage()
245 AllocClass(self, java_lang_Class.Get(), mirror::Class::PrimitiveClassSize()))); in InitWithoutImage()
248 Handle<mirror::Class> char_array_class(hs.NewHandle( in InitWithoutImage()
255 Handle<mirror::Class> java_lang_String(hs.NewHandle( in InitWithoutImage()
259 java_lang_String->SetStatus(mirror::Class::kStatusResolved, self); in InitWithoutImage()
262 Handle<mirror::Class> java_lang_ref_Reference(hs.NewHandle( in InitWithoutImage()
266 java_lang_ref_Reference->SetStatus(mirror::Class::kStatusResolved, self); in InitWithoutImage()
269 class_roots_ = GcRoot<mirror::ObjectArray<mirror::Class> >( in InitWithoutImage()
270 mirror::ObjectArray<mirror::Class>::Alloc(self, object_array_class.Get(), in InitWithoutImage()
295 Handle<mirror::Class> int_array_class(hs.NewHandle( in InitWithoutImage()
304 Handle<mirror::Class> java_lang_DexCache(hs.NewHandle( in InitWithoutImage()
308 java_lang_DexCache->SetStatus(mirror::Class::kStatusResolved, self); in InitWithoutImage()
312 Handle<mirror::Class> java_lang_reflect_ArtField(hs.NewHandle( in InitWithoutImage()
317 java_lang_reflect_ArtField->SetStatus(mirror::Class::kStatusResolved, self); in InitWithoutImage()
320 Handle<mirror::Class> java_lang_reflect_ArtMethod(hs.NewHandle( in InitWithoutImage()
325 java_lang_reflect_ArtMethod->SetStatus(mirror::Class::kStatusResolved, self); in InitWithoutImage()
329 Handle<mirror::Class> object_array_string(hs.NewHandle( in InitWithoutImage()
335 Handle<mirror::Class> object_array_art_method(hs.NewHandle( in InitWithoutImage()
341 Handle<mirror::Class> object_array_art_field(hs.NewHandle( in InitWithoutImage()
380 java_lang_Object->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
381 mirror::Class* Object_class = FindSystemClass(self, "Ljava/lang/Object;"); in InitWithoutImage()
384 java_lang_String->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
385 mirror::Class* String_class = FindSystemClass(self, "Ljava/lang/String;"); in InitWithoutImage()
387 java_lang_String->DumpClass(os1, mirror::Class::kDumpClassFullDetail); in InitWithoutImage()
388 String_class->DumpClass(os2, mirror::Class::kDumpClassFullDetail); in InitWithoutImage()
391 java_lang_DexCache->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
392 mirror::Class* DexCache_class = FindSystemClass(self, "Ljava/lang/DexCache;"); in InitWithoutImage()
404 mirror::Class* found_char_array_class = FindSystemClass(self, "[C"); in InitWithoutImage()
410 mirror::Class* found_int_array_class = FindSystemClass(self, "[I"); in InitWithoutImage()
422 mirror::Class* found_class_array_class = FindSystemClass(self, "[Ljava/lang/Class;"); in InitWithoutImage()
425 mirror::Class* found_object_array_class = FindSystemClass(self, "[Ljava/lang/Object;"); in InitWithoutImage()
429 mirror::Class* java_lang_Cloneable = FindSystemClass(self, "Ljava/lang/Cloneable;"); in InitWithoutImage()
431 mirror::Class* java_io_Serializable = FindSystemClass(self, "Ljava/io/Serializable;"); in InitWithoutImage()
442 CHECK_EQ(java_lang_Cloneable, mirror::Class::GetDirectInterface(self, class_array_class, 0)); in InitWithoutImage()
443 CHECK_EQ(java_io_Serializable, mirror::Class::GetDirectInterface(self, class_array_class, 1)); in InitWithoutImage()
444 CHECK_EQ(java_lang_Cloneable, mirror::Class::GetDirectInterface(self, object_array_class, 0)); in InitWithoutImage()
445 CHECK_EQ(java_io_Serializable, mirror::Class::GetDirectInterface(self, object_array_class, 1)); in InitWithoutImage()
448 mirror::Class* Class_class = FindSystemClass(self, "Ljava/lang/Class;"); in InitWithoutImage()
451 java_lang_reflect_ArtMethod->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
452 mirror::Class* Art_method_class = FindSystemClass(self, "Ljava/lang/reflect/ArtMethod;"); in InitWithoutImage()
455 java_lang_reflect_ArtField->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
456 mirror::Class* Art_field_class = FindSystemClass(self, "Ljava/lang/reflect/ArtField;"); in InitWithoutImage()
459 mirror::Class* String_array_class = in InitWithoutImage()
463 mirror::Class* Art_method_array_class = in InitWithoutImage()
467 mirror::Class* Art_field_array_class = in InitWithoutImage()
474 mirror::Class* java_lang_reflect_Proxy = FindSystemClass(self, "Ljava/lang/reflect/Proxy;"); in InitWithoutImage()
479 java_lang_ref_Reference->SetStatus(mirror::Class::kStatusNotReady, self); in InitWithoutImage()
480 mirror::Class* Reference_class = FindSystemClass(self, "Ljava/lang/ref/Reference;"); in InitWithoutImage()
484 mirror::Class* java_lang_ref_FinalizerReference = in InitWithoutImage()
489 mirror::Class* java_lang_ref_PhantomReference = in InitWithoutImage()
494 mirror::Class* java_lang_ref_SoftReference = in InitWithoutImage()
498 mirror::Class* java_lang_ref_WeakReference = in InitWithoutImage()
505 mirror::Class* java_lang_ClassLoader = FindSystemClass(self, "Ljava/lang/ClassLoader;"); in InitWithoutImage()
532 mirror::Class* resolved_type = ResolveType(dex_file, void_type_idx, java_lang_Object.Get()); in InitWithoutImage()
549 mirror::Class* java_lang_ref_Reference = GetClassRoot(kJavaLangRefReference); in FinishInit()
550 mirror::Class* java_lang_ref_FinalizerReference = in FinishInit()
576 mirror::Class* klass = GetClassRoot(class_root); in FinishInit()
595 mirror::Class* c = GetClassRoot(ClassRoot(i)); in RunRootClinits()
598 Handle<mirror::Class> h_class(hs.NewHandle(GetClassRoot(ClassRoot(i)))); in RunRootClinits()
1624 Handle<mirror::ObjectArray<mirror::Class>> class_roots(hs.NewHandle( in InitFromImage()
1626 AsObjectArray<mirror::Class>())); in InitFromImage()
1627 class_roots_ = GcRoot<mirror::ObjectArray<mirror::Class>>(class_roots.Get()); in InitFromImage()
1680 mirror::Class::SetClassClass(class_roots->Get(kJavaLangClass)); in InitFromImage()
1681 class_roots_ = GcRoot<mirror::ObjectArray<mirror::Class>>(class_roots.Get()); in InitFromImage()
1708 for (GcRoot<mirror::Class>& root : class_table_) { in VisitClassRoots()
1711 for (GcRoot<mirror::Class>& root : pre_zygote_class_table_) { in VisitClassRoots()
1716 mirror::Class* old_ref = root.Read<kWithoutReadBarrier>(); in VisitClassRoots()
1718 mirror::Class* new_ref = root.Read<kWithoutReadBarrier>(); in VisitClassRoots()
1723 auto it = class_table_.Find(GcRoot<mirror::Class>(old_ref)); in VisitClassRoots()
1725 *it = GcRoot<mirror::Class>(new_ref); in VisitClassRoots()
1781 for (GcRoot<mirror::Class>& root : class_table_) { in VisitClasses()
1786 for (GcRoot<mirror::Class>& root : pre_zygote_class_table_) { in VisitClasses()
1793 static bool GetClassesVisitorSet(mirror::Class* c, void* arg) { in GetClassesVisitorSet()
1794 std::set<mirror::Class*>* classes = reinterpret_cast<std::set<mirror::Class*>*>(arg); in GetClassesVisitorSet()
1800 Handle<mirror::ObjectArray<mirror::Class>>* classes;
1805 static bool GetClassesVisitorArray(mirror::Class* c, void* varg) in GetClassesVisitorArray()
1822 std::set<mirror::Class*> classes; in VisitClassesWithoutClassesLock()
1824 for (mirror::Class* klass : classes) { in VisitClassesWithoutClassesLock()
1832 Handle<mirror::ObjectArray<mirror::Class>> classes = in VisitClassesWithoutClassesLock()
1833 hs.NewHandle<mirror::ObjectArray<mirror::Class>>(nullptr); in VisitClassesWithoutClassesLock()
1845 mirror::Class* class_type = mirror::Class::GetJavaLangClass(); in VisitClassesWithoutClassesLock()
1846 mirror::Class* array_of_class = FindArrayClass(self, &class_type); in VisitClassesWithoutClassesLock()
1848 mirror::ObjectArray<mirror::Class>::Alloc(self, array_of_class, class_table_size)); in VisitClassesWithoutClassesLock()
1858 mirror::Class* klass = classes->Get(i); in VisitClassesWithoutClassesLock()
1867 mirror::Class::ResetClass(); in ~ClassLinker()
1889 Handle<mirror::Class> dex_cache_class(hs.NewHandle(GetClassRoot(kJavaLangDexCache))); in AllocDexCache()
1907 Handle<mirror::ObjectArray<mirror::Class>> in AllocDexCache()
1927 mirror::Class* ClassLinker::AllocClass(Thread* self, mirror::Class* java_lang_Class, in AllocClass()
1929 DCHECK_GE(class_size, sizeof(mirror::Class)); in AllocClass()
1931 mirror::Class::InitializeClassVisitor visitor(class_size); in AllocClass()
1942 mirror::Class* ClassLinker::AllocClass(Thread* self, uint32_t class_size) { in AllocClass()
1962 mirror::Class* ClassLinker::EnsureResolved(Thread* self, const char* descriptor, in EnsureResolved()
1963 mirror::Class* klass) { in EnsureResolved()
1974 Handle<mirror::Class> h_class(hs.NewHandle(klass)); in EnsureResolved()
1975 ObjectLock<mirror::Class> lock(self, h_class); in EnsureResolved()
1993 HandleWrapper<mirror::Class> h_class(hs.NewHandleWrapper(&klass)); in EnsureResolved()
1994 ObjectLock<mirror::Class> lock(self, h_class); in EnsureResolved()
1998 h_class->SetStatus(mirror::Class::kStatusError, self); in EnsureResolved()
2031 mirror::Class* ClassLinker::FindClassInPathClassLoader(ScopedObjectAccessAlreadyRunnable& soa, in FindClassInPathClassLoader()
2036 soa.Decode<mirror::Class*>(WellKnownClasses::dalvik_system_PathClassLoader) || in FindClassInPathClassLoader()
2038 soa.Decode<mirror::Class*>(WellKnownClasses::java_lang_BootClassLoader)) { in FindClassInPathClassLoader()
2044 mirror::Class* klass = LookupClass(descriptor, hash, nullptr); in FindClassInPathClassLoader()
2099 mirror::Class* klass = DefineClass(self, descriptor, hash, class_loader, *dex_file, in FindClassInPathClassLoader()
2117 mirror::Class* ClassLinker::FindClass(Thread* self, const char* descriptor, in FindClass()
2129 mirror::Class* klass = LookupClass(descriptor, hash, class_loader.Get()); in FindClass()
2179 mirror::Class* klass = FindClassInPathClassLoader(soa, self, descriptor, hash, class_loader); in FindClass()
2210 return soa.Decode<mirror::Class*>(result.get()); in FindClass()
2218 mirror::Class* ClassLinker::DefineClass(Thread* self, const char* descriptor, size_t hash, in DefineClass()
2223 auto klass = hs.NewHandle<mirror::Class>(nullptr); in DefineClass()
2258 ObjectLock<mirror::Class> lock(self, klass); in DefineClass()
2263 klass->SetStatus(mirror::Class::kStatusError, self); in DefineClass()
2270 mirror::Class* existing = InsertClass(descriptor, klass.Get(), hash); in DefineClass()
2282 klass->SetStatus(mirror::Class::kStatusError, self); in DefineClass()
2290 auto interfaces = hs.NewHandle<mirror::ObjectArray<mirror::Class>>(nullptr); in DefineClass()
2292 mirror::Class* new_class = nullptr; in DefineClass()
2296 klass->SetStatus(mirror::Class::kStatusError, self); in DefineClass()
2304 Handle<mirror::Class> new_class_h(hs.NewHandle(new_class)); in DefineClass()
2342 return mirror::Class::ComputeClassSize(false, 0, num_32, num_64, num_ref); in SizeOfClassWithoutEmbeddedTables()
2396 mirror::Class* declaring_class = method->GetDeclaringClass(); in FindOatMethodFor()
2547 void ClassLinker::FixupStaticTrampolines(mirror::Class* klass) { in FixupStaticTrampolines()
2729 Handle<mirror::Class> klass, in LoadClass()
2733 CHECK_EQ(mirror::Class::kStatusNotReady, klass->GetStatus()); in LoadClass()
2746 klass->SetStatus(mirror::Class::kStatusIdx, nullptr); in LoadClass()
2769 Handle<mirror::Class> klass, in LoadClassMembers()
2873 Handle<mirror::Class> klass, Handle<mirror::ArtField> dst) { in LoadField()
2882 Handle<mirror::Class> klass) { in LoadMethod()
3054 mirror::Class* ClassLinker::CreatePrimitiveClass(Thread* self, Primitive::Type type) { in CreatePrimitiveClass()
3055 mirror::Class* klass = AllocClass(self, mirror::Class::PrimitiveClassSize()); in CreatePrimitiveClass()
3062 mirror::Class* ClassLinker::InitializePrimitiveClass(mirror::Class* primitive_class, in InitializePrimitiveClass()
3068 Handle<mirror::Class> h_class(hs.NewHandle(primitive_class)); in InitializePrimitiveClass()
3069 ObjectLock<mirror::Class> lock(self, h_class); in InitializePrimitiveClass()
3072 primitive_class->SetStatus(mirror::Class::kStatusInitialized, self); in InitializePrimitiveClass()
3074 mirror::Class* existing = InsertClass(descriptor, primitive_class, in InitializePrimitiveClass()
3093 mirror::Class* ClassLinker::CreateArrayClass(Thread* self, const char* descriptor, size_t hash, in CreateArrayClass()
3098 Handle<mirror::Class> component_type(hs.NewHandle(FindClass(self, descriptor + 1, class_loader))); in CreateArrayClass()
3133 mirror::Class* new_class = LookupClass(descriptor, hash, component_type->GetClassLoader()); in CreateArrayClass()
3147 auto new_class = hs.NewHandle<mirror::Class>(nullptr); in CreateArrayClass()
3175 ObjectLock<mirror::Class> lock(self, new_class); // Must hold lock on object when initializing. in CreateArrayClass()
3177 mirror::Class* java_lang_Object = GetClassRoot(kJavaLangObject); in CreateArrayClass()
3182 new_class->SetStatus(mirror::Class::kStatusLoaded, self); in CreateArrayClass()
3184 StackHandleScope<mirror::Class::kImtSize> hs(self, in CreateArrayClass()
3188 new_class->SetStatus(mirror::Class::kStatusInitialized, self); in CreateArrayClass()
3222 mirror::Class* existing = InsertClass(descriptor, new_class.Get(), hash); in CreateArrayClass()
3235 mirror::Class* ClassLinker::FindPrimitiveClass(char type) { in FindPrimitiveClass()
3263 mirror::Class* ClassLinker::InsertClass(const char* descriptor, mirror::Class* klass, in InsertClass()
3275 mirror::Class* existing = LookupClassFromTableLocked(descriptor, klass->GetClassLoader(), hash); in InsertClass()
3289 class_table_.InsertWithHash(GcRoot<mirror::Class>(klass), hash); in InsertClass()
3291 new_class_roots_.push_back(GcRoot<mirror::Class>(klass)); in InsertClass()
3296 mirror::Class* ClassLinker::UpdateClass(const char* descriptor, mirror::Class* klass, in UpdateClass()
3306 mirror::Class* existing = existing_it->Read(); in UpdateClass()
3309 CHECK_EQ(klass->GetStatus(), mirror::Class::kStatusResolving) << descriptor; in UpdateClass()
3324 *existing_it = GcRoot<mirror::Class>(klass); in UpdateClass()
3326 new_class_roots_.push_back(GcRoot<mirror::Class>(klass)); in UpdateClass()
3348 mirror::Class* ClassLinker::LookupClass(const char* descriptor, size_t hash, in LookupClass()
3352 mirror::Class* result = LookupClassFromTableLocked(descriptor, class_loader, hash); in LookupClass()
3361 mirror::Class* result = LookupClassFromImage(descriptor); in LookupClass()
3377 mirror::Class* ClassLinker::LookupClassFromTableLocked(const char* descriptor, in LookupClassFromTableLocked()
3411 mirror::ObjectArray<mirror::Class>* types = dex_cache->GetResolvedTypes(); in MoveImageClassesToClassTable()
3413 mirror::Class* klass = types->Get(j); in MoveImageClassesToClassTable()
3418 mirror::Class* existing = LookupClassFromTableLocked(descriptor, nullptr, hash); in MoveImageClassesToClassTable()
3423 class_table_.Insert(GcRoot<mirror::Class>(klass)); in MoveImageClassesToClassTable()
3425 new_class_roots_.push_back(GcRoot<mirror::Class>(klass)); in MoveImageClassesToClassTable()
3442 mirror::Class* ClassLinker::LookupClassFromImage(const char* descriptor) { in LookupClassFromImage()
3457 mirror::Class* klass = dex_cache->GetResolvedType(type_idx); in LookupClassFromImage()
3469 void ClassLinker::LookupClasses(const char* descriptor, std::vector<mirror::Class*>& result) { in LookupClasses()
3483 for (mirror::Class* k : result) { in LookupClasses()
3484 class_table_.Insert(GcRoot<mirror::Class>(k)); in LookupClasses()
3499 pre_zygote_class_table_.Insert(GcRoot<mirror::Class>(result[i])); in LookupClasses()
3503 void ClassLinker::VerifyClass(Handle<mirror::Class> klass) { in VerifyClass()
3506 ObjectLock<mirror::Class> lock(self, klass); in VerifyClass()
3524 if (klass->GetStatus() == mirror::Class::kStatusResolved) { in VerifyClass()
3525 klass->SetStatus(mirror::Class::kStatusVerifying, self); in VerifyClass()
3527 CHECK_EQ(klass->GetStatus(), mirror::Class::kStatusRetryVerificationAtRuntime) in VerifyClass()
3530 klass->SetStatus(mirror::Class::kStatusVerifyingAtRuntime, self); in VerifyClass()
3535 klass->SetStatus(mirror::Class::kStatusVerified, self); in VerifyClass()
3542 Handle<mirror::Class> super(hs.NewHandle(klass->GetSuperClass())); in VerifyClass()
3545 ObjectLock<mirror::Class> lock(self, super); in VerifyClass()
3568 klass->SetStatus(mirror::Class::kStatusError, self); in VerifyClass()
3575 mirror::Class::Status oat_file_class_status(mirror::Class::kStatusNotReady); in VerifyClass()
3577 if (oat_file_class_status == mirror::Class::kStatusError) { in VerifyClass()
3583 klass->SetStatus(mirror::Class::kStatusError, self); in VerifyClass()
3606 klass->SetStatus(mirror::Class::kStatusVerified, self); in VerifyClass()
3608 CHECK_EQ(super->GetStatus(), mirror::Class::kStatusRetryVerificationAtRuntime); in VerifyClass()
3609 klass->SetStatus(mirror::Class::kStatusRetryVerificationAtRuntime, self); in VerifyClass()
3619 klass->SetStatus(mirror::Class::kStatusRetryVerificationAtRuntime, self); in VerifyClass()
3621 klass->SetStatus(mirror::Class::kStatusVerified, self); in VerifyClass()
3633 klass->SetStatus(mirror::Class::kStatusError, self); in VerifyClass()
3646 void ClassLinker::EnsurePreverifiedMethods(Handle<mirror::Class> klass) { in EnsurePreverifiedMethods()
3653 bool ClassLinker::VerifyClassUsingOatFile(const DexFile& dex_file, mirror::Class* klass, in VerifyClassUsingOatFile()
3654 mirror::Class::Status& oat_file_class_status) { in VerifyClassUsingOatFile()
3688 if (oat_file_class_status == mirror::Class::kStatusVerified || in VerifyClassUsingOatFile()
3689 oat_file_class_status == mirror::Class::kStatusInitialized) { in VerifyClassUsingOatFile()
3692 if (oat_file_class_status == mirror::Class::kStatusRetryVerificationAtRuntime) { in VerifyClassUsingOatFile()
3712 if (oat_file_class_status == mirror::Class::kStatusError) { in VerifyClassUsingOatFile()
3717 if (oat_file_class_status == mirror::Class::kStatusNotReady) { in VerifyClassUsingOatFile()
3733 Handle<mirror::Class> klass) { in ResolveClassExceptionHandlerTypes()
3761 mirror::Class* exception_type = linker->ResolveType(iterator.GetHandlerTypeIndex(), method); in ResolveMethodExceptionHandlerTypes()
3776 mirror::Class* ClassLinker::CreateProxyClass(ScopedObjectAccessAlreadyRunnable& soa, jstring name, in CreateProxyClass()
3781 Handle<mirror::Class> klass(hs.NewHandle( in CreateProxyClass()
3782 AllocClass(self, GetClassRoot(kJavaLangClass), sizeof(mirror::Class)))); in CreateProxyClass()
3794 mirror::Class* proxy_class = GetClassRoot(kJavaLangReflectProxy); in CreateProxyClass()
3796 klass->SetStatus(mirror::Class::kStatusIdx, self); in CreateProxyClass()
3871 klass->SetStatus(mirror::Class::kStatusLoaded, self); // Now effectively in the loaded state. in CreateProxyClass()
3875 mirror::Class* new_class = nullptr; in CreateProxyClass()
3878 ObjectLock<mirror::Class> resolution_lock(self, klass); in CreateProxyClass()
3880 Handle<mirror::ObjectArray<mirror::Class> > h_interfaces( in CreateProxyClass()
3881 hs.NewHandle(soa.Decode<mirror::ObjectArray<mirror::Class>*>(interfaces))); in CreateProxyClass()
3883 klass->SetStatus(mirror::Class::kStatusError, self); in CreateProxyClass()
3894 soa.Decode<mirror::ObjectArray<mirror::Class>*>(interfaces)); in CreateProxyClass()
3897 soa.Decode<mirror::ObjectArray<mirror::ObjectArray<mirror::Class> >*>(throws)); in CreateProxyClass()
3901 ObjectLock<mirror::Class> initialization_lock(self, klass); in CreateProxyClass()
3902 klass->SetStatus(mirror::Class::kStatusInitialized, self); in CreateProxyClass()
3928 soa.Decode<mirror::ObjectArray<mirror::Class>*>(interfaces)); in CreateProxyClass()
3930 soa.Decode<mirror::ObjectArray<mirror::ObjectArray<mirror::Class>>*>(throws)); in CreateProxyClass()
3932 mirror::Class* existing = InsertClass(descriptor.c_str(), klass.Get(), in CreateProxyClass()
3938 std::string ClassLinker::GetDescriptorForProxy(mirror::Class* proxy_class) { in GetDescriptorForProxy()
3945 mirror::ArtMethod* ClassLinker::FindMethodForProxy(mirror::Class* proxy_class, in FindMethodForProxy()
3970 Handle<mirror::Class> klass, in CreateProxyConstructor()
3971 mirror::Class* proxy_class) { in CreateProxyConstructor()
4004 Handle<mirror::Class> klass, in CreateProxyMethod()
4055 static bool CanWeInitializeClass(mirror::Class* klass, bool can_init_statics, in CanWeInitializeClass()
4077 mirror::Class* super_class = klass->GetSuperClass(); in CanWeInitializeClass()
4093 bool ClassLinker::InitializeClass(Handle<mirror::Class> klass, bool can_init_statics, in InitializeClass()
4112 ObjectLock<mirror::Class> lock(self, klass); in InitializeClass()
4136 CHECK_EQ(klass->GetStatus(), mirror::Class::kStatusRetryVerificationAtRuntime); in InitializeClass()
4149 if (klass->GetStatus() == mirror::Class::kStatusInitializing) { in InitializeClass()
4164 klass->SetStatus(mirror::Class::kStatusError, self); in InitializeClass()
4168 CHECK_EQ(klass->GetStatus(), mirror::Class::kStatusVerified) << PrettyClass(klass.Get()); in InitializeClass()
4173 klass->SetStatus(mirror::Class::kStatusInitializing, self); in InitializeClass()
4180 mirror::Class* super_class = klass->GetSuperClass(); in InitializeClass()
4185 Handle<mirror::Class> handle_scope_super(hs.NewHandle(super_class)); in InitializeClass()
4196 ObjectLock<mirror::Class> lock(self, klass); in InitializeClass()
4198 klass->SetStatus(mirror::Class::kStatusError, self); in InitializeClass()
4255 ObjectLock<mirror::Class> lock(self, klass); in InitializeClass()
4259 klass->SetStatus(mirror::Class::kStatusError, self); in InitializeClass()
4269 klass->SetStatus(mirror::Class::kStatusInitialized, self); in InitializeClass()
4282 bool ClassLinker::WaitForInitializeClass(Handle<mirror::Class> klass, Thread* self, in WaitForInitializeClass()
4283 ObjectLock<mirror::Class>& lock) in WaitForInitializeClass()
4295 klass->SetStatus(mirror::Class::kStatusError, self); in WaitForInitializeClass()
4299 if (klass->GetStatus() == mirror::Class::kStatusInitializing) { in WaitForInitializeClass()
4302 if (klass->GetStatus() == mirror::Class::kStatusVerified && Runtime::Current()->IsCompiler()) { in WaitForInitializeClass()
4322 bool ClassLinker::ValidateSuperClassDescriptors(Handle<mirror::Class> klass) { in ValidateSuperClassDescriptors()
4367 bool ClassLinker::EnsureInitialized(Handle<mirror::Class> c, bool can_init_fields, in EnsureInitialized()
4387 mirror::Class* c, in ConstructFieldMap()
4400 void ClassLinker::FixupTemporaryDeclaringClass(mirror::Class* temp_class, mirror::Class* new_class)… in FixupTemporaryDeclaringClass()
4438 bool ClassLinker::LinkClass(Thread* self, const char* descriptor, Handle<mirror::Class> klass, in LinkClass()
4439 Handle<mirror::ObjectArray<mirror::Class>> interfaces, in LinkClass()
4440 mirror::Class** new_class) { in LinkClass()
4441 CHECK_EQ(mirror::Class::kStatusLoaded, klass->GetStatus()); in LinkClass()
4446 StackHandleScope<mirror::Class::kImtSize> imt_handle_scope( in LinkClass()
4460 CHECK_EQ(mirror::Class::kStatusLoaded, klass->GetStatus()); in LinkClass()
4473 klass->SetStatus(mirror::Class::kStatusResolved, self); in LinkClass()
4481 klass->SetStatus(mirror::Class::kStatusError, self); in LinkClass()
4487 auto new_class_h = hs.NewHandleWrapper<mirror::Class>(new_class); in LinkClass()
4488 ObjectLock<mirror::Class> lock(self, new_class_h); in LinkClass()
4492 mirror::Class* existing = UpdateClass(descriptor, new_class_h.Get(), in LinkClass()
4498 klass->SetStatus(mirror::Class::kStatusRetired, self); in LinkClass()
4500 CHECK_EQ(new_class_h->GetStatus(), mirror::Class::kStatusResolving); in LinkClass()
4503 new_class_h->SetStatus(mirror::Class::kStatusResolved, self); in LinkClass()
4621 static bool CheckSuperClassChange(Handle<mirror::Class> klass, in CheckSuperClassChange()
4624 mirror::Class* super_class) in CheckSuperClassChange()
4673 bool ClassLinker::LoadSuperAndInterfaces(Handle<mirror::Class> klass, const DexFile& dex_file) { in LoadSuperAndInterfaces()
4674 CHECK_EQ(mirror::Class::kStatusIdx, klass->GetStatus()); in LoadSuperAndInterfaces()
4678 mirror::Class* super_class = ResolveType(dex_file, super_class_idx, klass.Get()); in LoadSuperAndInterfaces()
4702 mirror::Class* interface = ResolveType(dex_file, idx, klass.Get()); in LoadSuperAndInterfaces()
4718 klass->SetStatus(mirror::Class::kStatusLoaded, nullptr); in LoadSuperAndInterfaces()
4722 bool ClassLinker::LinkSuperClass(Handle<mirror::Class> klass) { in LinkSuperClass()
4724 mirror::Class* super = klass->GetSuperClass(); in LinkSuperClass()
4782 bool ClassLinker::LinkMethods(Thread* self, Handle<mirror::Class> klass, in LinkMethods()
4783 Handle<mirror::ObjectArray<mirror::Class>> interfaces, in LinkMethods()
4784 StackHandleScope<mirror::Class::kImtSize>* out_imt) { in LinkMethods()
4851 LinkVirtualHashTable(Handle<mirror::Class> klass, size_t hash_size, uint32_t* hash_table) in LinkVirtualHashTable()
4902 Handle<mirror::Class> klass_;
4910 bool ClassLinker::LinkVirtualMethods(Thread* self, Handle<mirror::Class> klass) { in LinkVirtualMethods()
4916 Handle<mirror::Class> super_class(hs.NewHandle(klass->GetSuperClass())); in LinkVirtualMethods()
5045 bool ClassLinker::LinkInterfaceMethods(Thread* self, Handle<mirror::Class> klass, in LinkInterfaceMethods()
5046 Handle<mirror::ObjectArray<mirror::Class>> interfaces, in LinkInterfaceMethods()
5047 StackHandleScope<mirror::Class::kImtSize>* out_imt) { in LinkInterfaceMethods()
5079 mirror::Class* interface = have_interfaces ? in LinkInterfaceMethods()
5080 interfaces->GetWithoutChecks(i) : mirror::Class::GetDirectInterface(self, klass, i); in LinkInterfaceMethods()
5099 mirror::Class* super_interface = super_iftable->GetInterface(i); in LinkInterfaceMethods()
5106 mirror::Class* interface = have_interfaces ? interfaces->Get(i) : in LinkInterfaceMethods()
5107 mirror::Class::GetDirectInterface(self, klass, i); in LinkInterfaceMethods()
5111 mirror::Class* existing_interface = iftable->GetInterface(j); in LinkInterfaceMethods()
5122 mirror::Class* super_interface = interface->GetIfTable()->GetInterface(j); in LinkInterfaceMethods()
5125 mirror::Class* existing_interface = iftable->GetInterface(k); in LinkInterfaceMethods()
5160 mirror::Class* super_class = klass->GetSuperClass(); in LinkInterfaceMethods()
5163 for (size_t i = 0; i < mirror::Class::kImtSize; ++i) { in LinkInterfaceMethods()
5172 mirror::Class* interface = iftable->GetInterface(i); in LinkInterfaceMethods()
5186 uint32_t imt_index = interface_method->GetDexMethodIndex() % mirror::Class::kImtSize; in LinkInterfaceMethods()
5260 uint32_t imt_index = interface_method->GetDexMethodIndex() % mirror::Class::kImtSize; in LinkInterfaceMethods()
5348 bool ClassLinker::LinkInstanceFields(Handle<mirror::Class> klass) { in LinkInstanceFields()
5353 bool ClassLinker::LinkStaticFields(Handle<mirror::Class> klass, size_t* class_size) { in LinkStaticFields()
5392 bool ClassLinker::LinkFields(Handle<mirror::Class> klass, bool is_static, size_t* class_size) { in LinkFields()
5404 mirror::Class* super_class = klass->GetSuperClass(); in LinkFields()
5566 void ClassLinker::CreateReferenceInstanceOffsets(Handle<mirror::Class> klass) { in CreateReferenceInstanceOffsets()
5568 mirror::Class* super_class = klass->GetSuperClass(); in CreateReferenceInstanceOffsets()
5580 void ClassLinker::CreateReferenceStaticOffsets(Handle<mirror::Class> klass) { in CreateReferenceStaticOffsets()
5584 void ClassLinker::CreateReferenceOffsets(Handle<mirror::Class> klass, bool is_static, in CreateReferenceOffsets()
5598 ? mirror::Class::ComputeClassSize( in CreateReferenceOffsets()
5600 : sizeof(mirror::Class); in CreateReferenceOffsets()
5631 mirror::Class* ClassLinker::ResolveType(const DexFile& dex_file, uint16_t type_idx, in ResolveType()
5632 mirror::Class* referrer) { in ResolveType()
5639 mirror::Class* ClassLinker::ResolveType(const DexFile& dex_file, uint16_t type_idx, in ResolveType()
5643 mirror::Class* resolved = dex_cache->GetResolvedType(type_idx); in ResolveType()
5685 mirror::Class* klass = ResolveType(dex_file, method_id.class_idx_, dex_cache, class_loader); in ResolveMethod()
5757 mirror::Class* methods_class = resolved->GetDeclaringClass(); in ResolveMethod()
5758 mirror::Class* referring_class = referrer->GetDeclaringClass(); in ResolveMethod()
5837 Handle<mirror::Class> klass( in ResolveField()
5845 resolved = mirror::Class::FindStaticField(self, klass, dex_cache.Get(), field_idx); in ResolveField()
5854 resolved = mirror::Class::FindStaticField(self, klass, name, type); in ResolveField()
5879 Handle<mirror::Class> klass( in ResolveFieldJLS()
5889 resolved = mirror::Class::FindField(self, klass, name, type); in ResolveFieldJLS()
5900 mirror::Class* declaring_class = referrer->GetDeclaringClass(); in MethodShorty()
5913 std::vector<mirror::Class*> all_classes; in DumpAllClasses()
5916 for (GcRoot<mirror::Class>& it : class_table_) { in DumpAllClasses()
5952 void ClassLinker::SetClassRoot(ClassRoot class_root, mirror::Class* klass) { in SetClassRoot()
5958 mirror::ObjectArray<mirror::Class>* class_roots = class_roots_.Read(); in SetClassRoot()
5964 std::size_t ClassLinker::ClassDescriptorHashEquals::operator()(const GcRoot<mirror::Class>& root) in operator ()()
5970 bool ClassLinker::ClassDescriptorHashEquals::operator()(const GcRoot<mirror::Class>& a, in operator ()()
5971 const GcRoot<mirror::Class>& b) { in operator ()()
5985 const GcRoot<mirror::Class>& a, const std::pair<const char*, mirror::ClassLoader*>& b) { in operator ()()
5992 bool ClassLinker::ClassDescriptorHashEquals::operator()(const GcRoot<mirror::Class>& a, in operator ()()