Lines Matching refs:mirror
59 namespace mirror {
101 virtual bool operator()(ObjPtr<mirror::Class> klass) = 0;
107 virtual void Visit(ObjPtr<mirror::ClassLoader> class_loader)
150 Handle<mirror::ClassLoader> class_loader,
166 ObjPtr<mirror::Class> FindClass(Thread* self,
168 Handle<mirror::ClassLoader> class_loader)
174 ObjPtr<mirror::Class> FindSystemClass(Thread* self, const char* descriptor) in FindSystemClass()
177 return FindClass(self, descriptor, ScopedNullHandle<mirror::ClassLoader>()); in FindSystemClass()
181 ObjPtr<mirror::Class> FindArrayClass(Thread* self, ObjPtr<mirror::Class> element_class)
191 ObjPtr<mirror::Class> DefineClass(Thread* self,
194 Handle<mirror::ClassLoader> class_loader,
202 ObjPtr<mirror::Class> LookupClass(Thread* self,
204 ObjPtr<mirror::ClassLoader> class_loader)
209 void LookupClasses(const char* descriptor, std::vector<ObjPtr<mirror::Class>>& classes)
213 ObjPtr<mirror::Class> LookupPrimitiveClass(char type) REQUIRES_SHARED(Locks::mutator_lock_);
214 ObjPtr<mirror::Class> FindPrimitiveClass(char type) REQUIRES_SHARED(Locks::mutator_lock_);
225 ObjPtr<mirror::String> ResolveString(dex::StringIndex string_idx,
228 ObjPtr<mirror::String> ResolveString(dex::StringIndex string_idx,
234 ObjPtr<mirror::String> ResolveString(dex::StringIndex string_idx,
235 Handle<mirror::DexCache> dex_cache)
240 ObjPtr<mirror::String> LookupString(dex::StringIndex string_idx,
241 ObjPtr<mirror::DexCache> dex_cache)
247 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ObjPtr<mirror::Class> referrer)
250 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ArtField* referrer)
253 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ArtMethod* referrer)
260 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx,
261 Handle<mirror::DexCache> dex_cache,
262 Handle<mirror::ClassLoader> class_loader)
269 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx,
270 ObjPtr<mirror::Class> referrer)
272 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, ArtField* referrer)
274 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, ArtMethod* referrer)
280 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx,
281 ObjPtr<mirror::DexCache> dex_cache,
282 ObjPtr<mirror::ClassLoader> class_loader)
294 ObjPtr<mirror::DexCache> dex_cache,
295 ObjPtr<mirror::ClassLoader> class_loader)
299 ArtMethod* FindResolvedMethod(ObjPtr<mirror::Class> klass,
300 ObjPtr<mirror::DexCache> dex_cache,
301 ObjPtr<mirror::ClassLoader> class_loader,
308 ArtMethod* FindIncompatibleMethod(ObjPtr<mirror::Class> klass,
309 ObjPtr<mirror::DexCache> dex_cache,
310 ObjPtr<mirror::ClassLoader> class_loader,
320 Handle<mirror::DexCache> dex_cache,
321 Handle<mirror::ClassLoader> class_loader,
336 Handle<mirror::DexCache> dex_cache,
337 Handle<mirror::ClassLoader> class_loader)
352 Handle<mirror::DexCache> dex_cache,
353 Handle<mirror::ClassLoader> class_loader,
363 Handle<mirror::DexCache> dex_cache,
364 Handle<mirror::ClassLoader> class_loader)
372 ArtField* FindResolvedField(ObjPtr<mirror::Class> klass,
373 ObjPtr<mirror::DexCache> dex_cache,
374 ObjPtr<mirror::ClassLoader> class_loader,
383 ArtField* FindResolvedFieldJLS(ObjPtr<mirror::Class> klass,
384 ObjPtr<mirror::DexCache> dex_cache,
385 ObjPtr<mirror::ClassLoader> class_loader,
391 ObjPtr<mirror::MethodType> ResolveMethodType(Thread* self,
393 Handle<mirror::DexCache> dex_cache,
394 Handle<mirror::ClassLoader> class_loader)
398 ObjPtr<mirror::MethodType> ResolveMethodType(Thread* self,
406 ObjPtr<mirror::MethodHandle> ResolveMethodHandle(Thread* self,
415 Handle<mirror::Class> c,
430 void RegisterExistingDexCache(ObjPtr<mirror::DexCache> cache,
431 ObjPtr<mirror::ClassLoader> class_loader)
434 ObjPtr<mirror::DexCache> RegisterDexFile(const DexFile& dex_file,
435 ObjPtr<mirror::ClassLoader> class_loader)
465 ObjPtr<mirror::DexCache> FindDexCache(Thread* self, const DexFile& dex_file)
468 ClassTable* FindClassTable(Thread* self, ObjPtr<mirror::DexCache> dex_cache)
480 ObjPtr<mirror::PointerArray> AllocPointerArray(Thread* self, size_t length)
484 ObjPtr<mirror::IfTable> AllocIfTable(Thread* self, size_t ifcount)
488 ObjPtr<mirror::ObjectArray<mirror::StackTraceElement>> AllocStackTraceElementArray(Thread* self,
495 Handle<mirror::Class> klass,
500 ObjPtr<mirror::Class> klass,
504 void ResolveClassExceptionHandlerTypes(Handle<mirror::Class> klass)
511 ObjPtr<mirror::Class> CreateProxyClass(ScopedObjectAccessAlreadyRunnable& soa,
557 ObjPtr<mirror::Class> InsertClass(const char* descriptor,
558 ObjPtr<mirror::Class> klass,
570 ObjPtr<mirror::ObjectArray<mirror::Class>> GetClassRoots() REQUIRES_SHARED(Locks::mutator_lock_);
603 ObjPtr<mirror::ClassLoader> CreateWellKnownClassLoader(
606 Handle<mirror::Class> loader_class,
607 Handle<mirror::ClassLoader> parent_loader,
608 Handle<mirror::ObjectArray<mirror::ClassLoader>> shared_libraries)
617 bool ClassInClassTable(ObjPtr<mirror::Class> klass)
632 LinearAlloc* GetAllocatorForClassLoader(ObjPtr<mirror::ClassLoader> class_loader)
637 LinearAlloc* GetOrCreateAllocatorForClassLoader(ObjPtr<mirror::ClassLoader> class_loader)
642 void InsertDexFileInToClassLoader(ObjPtr<mirror::Object> dex_file,
643 ObjPtr<mirror::ClassLoader> class_loader)
654 ObjPtr<mirror::ClassLoader> class_loader)
657 ArtMethod* AddMethodToConflictTable(ObjPtr<mirror::Class> klass,
674 void FillIMTAndConflictTables(ObjPtr<mirror::Class> klass) REQUIRES_SHARED(Locks::mutator_lock_);
689 void ThrowEarlierClassFailure(ObjPtr<mirror::Class> c,
696 ObjPtr<mirror::Class> GetHoldingClassOfCopiedMethod(ArtMethod* method)
702 ClassTable* ClassTableForClassLoader(ObjPtr<mirror::ClassLoader> class_loader)
715 bool ValidateSuperClassDescriptors(Handle<mirror::Class> klass)
749 Handle<mirror::Class> klass,
756 Handle<mirror::Class> klass,
774 Handle<mirror::Class> klass,
775 Handle<mirror::Class> supertype)
804 ObjPtr<mirror::Class> AllocClass(Thread* self,
805 ObjPtr<mirror::Class> java_lang_Class,
813 ObjPtr<mirror::Class> AllocClass(Thread* self, uint32_t class_size)
818 ObjPtr<mirror::Class> AllocPrimitiveArrayClass(Thread* self,
819 ObjPtr<mirror::Class> java_lang_Class)
823 ObjPtr<mirror::DexCache> AllocDexCache(/*out*/ ObjPtr<mirror::String>* out_location,
830 ObjPtr<mirror::DexCache> AllocAndInitializeDexCache(Thread* self,
837 ObjPtr<mirror::Class> CreatePrimitiveClass(Thread* self, Primitive::Type type)
841 ObjPtr<mirror::Class> CreateArrayClass(Thread* self,
844 Handle<mirror::ClassLoader> class_loader)
848 void AppendToBootClassPath(const DexFile& dex_file, ObjPtr<mirror::DexCache> dex_cache)
861 Handle<mirror::Class> klass,
862 ObjPtr<mirror::ClassLoader> class_loader)
868 Handle<mirror::Class> klass)
871 void LoadField(const ClassAccessor::Field& field, Handle<mirror::Class> klass, ArtField* dst)
876 Handle<mirror::Class> klass,
880 void FixupStaticTrampolines(ObjPtr<mirror::Class> klass) REQUIRES_SHARED(Locks::mutator_lock_);
891 Handle<mirror::ClassLoader> class_loader,
892 /*out*/ ObjPtr<mirror::Class>* result)
900 Handle<mirror::ClassLoader> class_loader,
901 /*out*/ ObjPtr<mirror::Class>* result)
910 ObjPtr<mirror::Class> FindClassInBaseDexClassLoaderClassPath(
914 Handle<mirror::ClassLoader> class_loader)
920 ObjPtr<mirror::Class> FindClassInBootClassLoaderClassPath(Thread* self,
927 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx,
928 ObjPtr<mirror::Class> referrer)
930 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx,
931 ObjPtr<mirror::DexCache> dex_cache,
932 ObjPtr<mirror::ClassLoader> class_loader)
936 ObjPtr<mirror::String> DoResolveString(dex::StringIndex string_idx,
937 ObjPtr<mirror::DexCache> dex_cache)
939 ObjPtr<mirror::String> DoResolveString(dex::StringIndex string_idx,
940 Handle<mirror::DexCache> dex_cache)
944 ObjPtr<mirror::String> DoLookupString(dex::StringIndex string_idx,
945 ObjPtr<mirror::DexCache> dex_cache)
950 ObjPtr<mirror::Class> DoResolveType(dex::TypeIndex type_idx, T referrer)
953 ObjPtr<mirror::Class> DoResolveType(dex::TypeIndex type_idx,
954 Handle<mirror::DexCache> dex_cache,
955 Handle<mirror::ClassLoader> class_loader)
961 ObjPtr<mirror::Class> LookupClass(Thread* self,
964 ObjPtr<mirror::ClassLoader> class_loader)
970 ObjPtr<mirror::DexCache> dex_cache,
971 ObjPtr<mirror::ClassLoader> class_loader,
976 ObjPtr<mirror::DexCache> dex_cache,
977 ObjPtr<mirror::ClassLoader> class_loader)
983 static ObjPtr<mirror::DexCache> DecodeDexCache(Thread* self, const DexCacheData& data)
987 ObjPtr<mirror::DexCache> EnsureSameClassLoader(Thread* self,
988 ObjPtr<mirror::DexCache> dex_cache,
990 ObjPtr<mirror::ClassLoader> class_loader)
995 Handle<mirror::Class> klass,
1000 bool WaitForInitializeClass(Handle<mirror::Class> klass,
1002 ObjectLock<mirror::Class>& lock);
1006 Handle<mirror::ClassLoader> class_loader1,
1007 Handle<mirror::ClassLoader> class_loader2)
1012 ObjPtr<mirror::Class> klass1,
1013 ObjPtr<mirror::Class> klass2)
1018 Handle<mirror::Class> klass,
1019 Handle<mirror::ObjectArray<mirror::Class>> interfaces,
1020 MutableHandle<mirror::Class>* h_new_class_out)
1024 bool LinkSuperClass(Handle<mirror::Class> klass)
1027 bool LoadSuperAndInterfaces(Handle<mirror::Class> klass, const DexFile& dex_file)
1032 Handle<mirror::Class> klass,
1033 Handle<mirror::ObjectArray<mirror::Class>> interfaces,
1038 ObjPtr<mirror::MethodHandle> ResolveMethodHandleForField(
1043 ObjPtr<mirror::MethodHandle> ResolveMethodHandleForMethod(
1138 Handle<mirror::Class> klass,
1145 Handle<mirror::Class> klass,
1146 Handle<mirror::ObjectArray<mirror::Class>> interfaces)
1177 Handle<mirror::Class> klass,
1185 Handle<mirror::Class> klass,
1191 bool LinkStaticFields(Thread* self, Handle<mirror::Class> klass, size_t* class_size)
1193 bool LinkInstanceFields(Thread* self, Handle<mirror::Class> klass)
1195 bool LinkFields(Thread* self, Handle<mirror::Class> klass, bool is_static, size_t* class_size)
1197 void CreateReferenceInstanceOffsets(Handle<mirror::Class> klass)
1213 void CreateProxyConstructor(Handle<mirror::Class> klass, ArtMethod* out)
1215 void CreateProxyMethod(Handle<mirror::Class> klass, ArtMethod* prototype, ArtMethod* out)
1220 void RegisterClassLoader(ObjPtr<mirror::ClassLoader> class_loader)
1225 ClassTable* InsertClassTableForClassLoader(ObjPtr<mirror::ClassLoader> class_loader)
1235 ObjPtr<mirror::Class> EnsureResolved(Thread* self,
1237 ObjPtr<mirror::Class> klass)
1242 void FixupTemporaryDeclaringClass(ObjPtr<mirror::Class> temp_class,
1243 ObjPtr<mirror::Class> new_class)
1246 void SetClassRoot(ClassRoot class_root, ObjPtr<mirror::Class> klass)
1256 ObjPtr<mirror::Class> java_lang_Class,
1266 bool CanWeInitializeClass(ObjPtr<mirror::Class> klass,
1271 void UpdateClassMethods(ObjPtr<mirror::Class> klass,
1277 void CheckSystemClass(Thread* self, Handle<mirror::Class> c1, const char* descriptor)
1283 Handle<mirror::Class> klass,
1284 Handle<mirror::IfTable> iftable)
1297 void FillIMTFromIfTable(ObjPtr<mirror::IfTable> if_table,
1300 ObjPtr<mirror::Class> klass,
1306 void FillImtFromSuperClass(Handle<mirror::Class> klass,
1317 static bool CheckInvokeClassMismatch(ObjPtr<mirror::DexCache> dex_cache,
1323 bool CheckInvokeClassMismatch(ObjPtr<mirror::DexCache> dex_cache,
1326 ObjPtr<mirror::ClassLoader> class_loader)
1329 ObjPtr<mirror::IfTable> GetArrayIfTable() REQUIRES_SHARED(Locks::mutator_lock_);
1347 std::vector<GcRoot<mirror::Class>> new_class_roots_ GUARDED_BY(Locks::classlinker_classes_lock_);
1358 GcRoot<mirror::ObjectArray<mirror::Class>> class_roots_;
1363 GcRoot<mirror::Class> find_array_class_cache_[kFindArrayCacheSize];
1395 ART_FRIEND_TEST(mirror::DexCacheMethodHandlesTest, Open); // for AllocDexCache
1396 ART_FRIEND_TEST(mirror::DexCacheTest, Open); // for AllocDexCache
1413 Handle<mirror::Class> klass ATTRIBUTE_UNUSED, in ClassPreDefine()
1414 Handle<mirror::ClassLoader> class_loader ATTRIBUTE_UNUSED, in ClassPreDefine()
1424 virtual void ClassLoad(Handle<mirror::Class> klass) REQUIRES_SHARED(Locks::mutator_lock_) = 0;
1428 virtual void ClassPrepare(Handle<mirror::Class> temp_klass,
1429 Handle<mirror::Class> klass) REQUIRES_SHARED(Locks::mutator_lock_) = 0;