/art/runtime/entrypoints/portable/ |
D | portable_alloc_entrypoints.cc | 26 extern "C" mirror::Object* art_portable_alloc_object_from_code(uint32_t type_idx, in art_portable_alloc_object_from_code() argument 30 return AllocObjectFromCode<false, true>(type_idx, referrer, thread, kPortableAllocatorType); in art_portable_alloc_object_from_code() 33 extern "C" mirror::Object* art_portable_alloc_object_from_code_with_access_check(uint32_t type_idx, in art_portable_alloc_object_from_code_with_access_check() argument 37 return AllocObjectFromCode<true, true>(type_idx, referrer, thread, kPortableAllocatorType); in art_portable_alloc_object_from_code_with_access_check() 40 extern "C" mirror::Object* art_portable_alloc_array_from_code(uint32_t type_idx, in art_portable_alloc_array_from_code() argument 45 return AllocArrayFromCode<false, true>(type_idx, referrer, length, self, in art_portable_alloc_array_from_code() 49 extern "C" mirror::Object* art_portable_alloc_array_from_code_with_access_check(uint32_t type_idx, in art_portable_alloc_array_from_code_with_access_check() argument 54 return AllocArrayFromCode<true, true>(type_idx, referrer, length, self, in art_portable_alloc_array_from_code_with_access_check() 58 extern "C" mirror::Object* art_portable_check_and_alloc_array_from_code(uint32_t type_idx, in art_portable_check_and_alloc_array_from_code() argument 63 return CheckAndAllocArrayFromCodeInstrumented(type_idx, referrer, length, thread, false, in art_portable_check_and_alloc_array_from_code() [all …]
|
D | portable_dexcache_entrypoints.cc | 24 extern "C" mirror::Object* art_portable_initialize_static_storage_from_code(uint32_t type_idx, in art_portable_initialize_static_storage_from_code() argument 28 return ResolveVerifyAndClinit(type_idx, referrer, thread, true, false); in art_portable_initialize_static_storage_from_code() 31 extern "C" mirror::Object* art_portable_initialize_type_from_code(uint32_t type_idx, in art_portable_initialize_type_from_code() argument 35 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, false); in art_portable_initialize_type_from_code() 38 …ern "C" mirror::Object* art_portable_initialize_type_and_verify_access_from_code(uint32_t type_idx, in art_portable_initialize_type_and_verify_access_from_code() argument 44 return ResolveVerifyAndClinit(type_idx, referrer, thread, false, true); in art_portable_initialize_type_and_verify_access_from_code()
|
/art/runtime/entrypoints/quick/ |
D | quick_alloc_entrypoints.cc | 30 uint32_t type_idx, mirror::ArtMethod* method, Thread* self, \ 34 return AllocObjectFromCode<false, instrumented_bool>(type_idx, method, self, allocator_type); \ 51 uint32_t type_idx, mirror::ArtMethod* method, Thread* self, \ 55 return AllocObjectFromCode<true, instrumented_bool>(type_idx, method, self, allocator_type); \ 58 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \ 62 return AllocArrayFromCode<false, instrumented_bool>(type_idx, method, component_count, self, \ 74 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \ 78 return AllocArrayFromCode<true, instrumented_bool>(type_idx, method, component_count, self, \ 82 uint32_t type_idx, mirror::ArtMethod* method, int32_t component_count, Thread* self, \ 87 …return CheckAndAllocArrayFromCode(type_idx, method, component_count, self, false, allocator_type);… [all …]
|
D | quick_dexcache_entrypoints.cc | 28 extern "C" mirror::Class* artInitializeStaticStorageFromCode(uint32_t type_idx, in artInitializeStaticStorageFromCode() argument 37 return ResolveVerifyAndClinit(type_idx, referrer, self, true, false); in artInitializeStaticStorageFromCode() 40 extern "C" mirror::Class* artInitializeTypeFromCode(uint32_t type_idx, in artInitializeTypeFromCode() argument 47 return ResolveVerifyAndClinit(type_idx, referrer, self, false, false); in artInitializeTypeFromCode() 50 extern "C" mirror::Class* artInitializeTypeAndVerifyAccessFromCode(uint32_t type_idx, in artInitializeTypeAndVerifyAccessFromCode() argument 57 return ResolveVerifyAndClinit(type_idx, referrer, self, false, true); in artInitializeTypeAndVerifyAccessFromCode()
|
/art/runtime/entrypoints/ |
D | entrypoint_utils.h | 44 ALWAYS_INLINE static inline mirror::Class* CheckObjectAlloc(uint32_t type_idx, 59 ALWAYS_INLINE static inline mirror::Object* AllocObjectFromCode(uint32_t type_idx, 83 ALWAYS_INLINE static inline mirror::Class* CheckArrayAlloc(uint32_t type_idx, 94 ALWAYS_INLINE static inline mirror::Array* AllocArrayFromCode(uint32_t type_idx, 109 extern mirror::Array* CheckAndAllocArrayFromCode(uint32_t type_idx, mirror::ArtMethod* method, 115 extern mirror::Array* CheckAndAllocArrayFromCodeInstrumented(uint32_t type_idx, 158 static inline mirror::Class* ResolveVerifyAndClinit(uint32_t type_idx,
|
D | entrypoint_utils.cc | 36 static inline mirror::Class* CheckFilledNewArrayAlloc(uint32_t type_idx, in CheckFilledNewArrayAlloc() argument 46 mirror::Class* klass = referrer->GetDexCacheResolvedType<false>(type_idx); in CheckFilledNewArrayAlloc() 48 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, referrer); in CheckFilledNewArrayAlloc() 80 mirror::Array* CheckAndAllocArrayFromCode(uint32_t type_idx, mirror::ArtMethod* referrer, in CheckAndAllocArrayFromCode() argument 84 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self, in CheckAndAllocArrayFromCode() 98 mirror::Array* CheckAndAllocArrayFromCodeInstrumented(uint32_t type_idx, in CheckAndAllocArrayFromCodeInstrumented() argument 104 mirror::Class* klass = CheckFilledNewArrayAlloc(type_idx, referrer, component_count, self, in CheckAndAllocArrayFromCodeInstrumented()
|
D | entrypoint_utils-inl.h | 40 static inline mirror::Class* CheckObjectAlloc(uint32_t type_idx, in CheckObjectAlloc() argument 43 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckObjectAlloc() 45 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckObjectAlloc() 123 static inline mirror::Object* AllocObjectFromCode(uint32_t type_idx, in AllocObjectFromCode() argument 128 mirror::Class* klass = CheckObjectAlloc<kAccessCheck>(type_idx, method, self, &slow_path); in AllocObjectFromCode() 176 static inline mirror::Class* CheckArrayAlloc(uint32_t type_idx, in CheckArrayAlloc() argument 185 mirror::Class* klass = method->GetDexCacheResolvedType<false>(type_idx); in CheckArrayAlloc() 187 klass = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in CheckArrayAlloc() 212 static inline mirror::Array* AllocArrayFromCode(uint32_t type_idx, in AllocArrayFromCode() argument 218 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, method, component_count, in AllocArrayFromCode() [all …]
|
/art/runtime/ |
D | dex_instruction.cc | 174 uint32_t type_idx = VRegB_21c(); in DumpString() local 175 … os << opcode << " v" << static_cast<int>(VRegA_21c()) << ", " << PrettyType(type_idx, *file) in DumpString() 176 << " // type@" << type_idx; in DumpString() 261 uint32_t type_idx = VRegC_22c(); in DumpString() local 263 << PrettyType(type_idx, *file) << " // type@" << type_idx; in DumpString() 268 uint32_t type_idx = VRegC_22c(); in DumpString() local 270 << PrettyType(type_idx, *file) << " // type@" << type_idx; in DumpString()
|
D | method_helper-inl.h | 46 inline mirror::Class* MethodHelper::GetClassFromTypeIdx(uint16_t type_idx, bool resolve) { in GetClassFromTypeIdx() argument 48 mirror::Class* type = method->GetDexCacheResolvedType(type_idx); in GetClassFromTypeIdx() 50 type = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method); in GetClassFromTypeIdx()
|
D | class_linker-inl.h | 75 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, in ResolveType() argument 77 mirror::Class* resolved_type = referrer->GetDexCacheResolvedType(type_idx); in ResolveType() 84 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); in ResolveType() 91 inline mirror::Class* ClassLinker::ResolveType(uint16_t type_idx, mirror::ArtField* referrer) { in ResolveType() argument 94 mirror::Class* resolved_type = dex_cache_ptr->GetResolvedType(type_idx); in ResolveType() 100 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); in ResolveType()
|
D | dex_file_verifier.cc | 76 const char* DexFileVerifier::CheckLoadStringByTypeIdx(uint32_t type_idx, const char* error_string) { in CheckLoadStringByTypeIdx() argument 77 if (UNLIKELY(!CheckIndex(type_idx, dex_file_->NumTypeIds(), error_string))) { in CheckLoadStringByTypeIdx() 80 const DexFile::TypeId& type_id = dex_file_->GetTypeId(type_idx); in CheckLoadStringByTypeIdx() 107 #define LOAD_STRING_BY_TYPE(var, type_idx, error) \ argument 108 const char* var = CheckLoadStringByTypeIdx(type_idx, error); \ 423 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); in CheckAndGetHandlerOffsets() local 424 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { in CheckAndGetHandlerOffsets() 944 uint32_t type_idx = DecodeUnsignedLeb128(&ptr_); in CheckIntraDebugInfoItem() local 945 if (type_idx != 0) { in CheckIntraDebugInfoItem() 946 type_idx--; in CheckIntraDebugInfoItem() [all …]
|
D | dex_file.cc | 440 uint16_t type_idx = GetIndexForTypeId(*type_id); in FindClassDef() local 443 if (class_def.class_idx_ == type_idx) { in FindClassDef() 471 const DexFile::ClassDef* DexFile::FindClassDef(uint16_t type_idx) const { in FindClassDef() 475 if (class_def.class_idx_ == type_idx) { in FindClassDef() 488 const uint16_t type_idx = GetIndexForTypeId(type); in FindFieldId() local 504 if (type_idx > field.type_idx_) { in FindFieldId() 506 } else if (type_idx < field.type_idx_) { in FindFieldId() 686 uint16_t type_idx = GetIndexForTypeId(*type_id); in CreateTypeList() local 688 param_type_idxs->push_back(type_idx); in CreateTypeList() 690 *return_type_idx = type_idx; in CreateTypeList()
|
D | method_helper.h | 114 mirror::Class* GetClassFromTypeIdx(uint16_t type_idx, bool resolve = true)
|
D | dex_file_verifier.h | 104 const char* CheckLoadStringByTypeIdx(uint32_t type_idx, const char* error_fmt);
|
/art/compiler/dex/quick/ |
D | gen_common.cc | 353 void Mir2Lir::GenNewArray(uint32_t type_idx, RegLocation rl_dest, in GenNewArray() argument 358 if (cu_->compiler_driver->CanAccessTypeWithoutChecks(cu_->method_idx, *dex_file, type_idx)) { in GenNewArray() 364 driver->CanEmbedTypeInCode(*dex_file, type_idx, &is_type_initialized, &use_direct_type_ptr, in GenNewArray() 368 LoadClassType(type_idx, kArg0); in GenNewArray() 378 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArray, type_idx, rl_src, true); in GenNewArray() 381 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayWithAccessCheck, type_idx, rl_src, true); in GenNewArray() 394 int type_idx = info->index; in GenFilledNewArray() local 398 type_idx)) { in GenFilledNewArray() 403 CallRuntimeHelperImmMethodImm(target, type_idx, elems, true); in GenFilledNewArray() 821 void Mir2Lir::GenConstClass(uint32_t type_idx, RegLocation rl_dest) { in GenConstClass() argument [all …]
|
D | mir_to_lir.h | 848 void GenNewArray(uint32_t type_idx, RegLocation rl_dest, 862 void GenConstClass(uint32_t type_idx, RegLocation rl_dest); 864 void GenNewInstance(uint32_t type_idx, RegLocation rl_dest); 866 void GenInstanceof(uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src); 867 void GenCheckCast(uint32_t insn_idx, uint32_t type_idx, RegLocation rl_src); 1120 virtual void LoadClassType(uint32_t type_idx, SpecialTargetRegister symbolic_reg); 1508 virtual void GenInstanceofFinal(bool use_declaring_class, uint32_t type_idx, 1528 uint32_t type_idx, RegLocation rl_dest,
|
/art/runtime/mirror/ |
D | dex_cache-inl.h | 46 inline void DexCache::SetResolvedType(uint32_t type_idx, Class* resolved) { in SetResolvedType() argument 49 GetResolvedTypes()->Set(type_idx, resolved); in SetResolvedType()
|
D | dex_cache.h | 100 Class* GetResolvedType(uint32_t type_idx) ALWAYS_INLINE in GetResolvedType() argument 102 return GetResolvedTypes()->Get(type_idx); in GetResolvedType() 105 void SetResolvedType(uint32_t type_idx, Class* resolved)
|
D | art_method-inl.h | 470 inline bool ArtMethod::IsResolvedTypeIdx(uint16_t type_idx) { in IsResolvedTypeIdx() argument 472 return method->GetDexCacheResolvedType(type_idx) != nullptr; in IsResolvedTypeIdx() 519 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(uint16_t type_idx) { in GetTypeDescriptorFromTypeIdx() argument 522 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx)); in GetTypeDescriptorFromTypeIdx()
|
D | art_method.h | 224 Class* GetDexCacheResolvedType(uint32_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); 520 bool IsResolvedTypeIdx(uint16_t type_idx) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_); 536 const char* GetTypeDescriptorFromTypeIdx(uint16_t type_idx)
|
/art/compiler/dex/portable/ |
D | mir_to_gbc.h | 139 void ConvertCheckCast(uint32_t type_idx, RegLocation rl_src); 140 void ConvertNewInstance(uint32_t type_idx, RegLocation rl_dest); 141 void ConvertNewArray(uint32_t type_idx, RegLocation rl_dest, 151 void ConvertInstanceOf(uint32_t type_idx, RegLocation rl_dest,
|
/art/compiler/llvm/ |
D | gbc_expander.cc | 203 llvm::Value* EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx); 321 llvm::Value* EmitLoadConstantClass(uint32_t dex_pc, uint32_t type_idx); 322 llvm::Value* EmitLoadStaticStorage(uint32_t dex_pc, uint32_t type_idx); 353 uint32_t type_idx, 720 GBCExpanderPass::EmitLoadDexCacheResolvedTypeFieldAddr(uint32_t type_idx) { in EmitLoadDexCacheResolvedTypeFieldAddr() argument 724 llvm::Value* type_idx_value = irb_.getPtrEquivInt(type_idx); in EmitLoadDexCacheResolvedTypeFieldAddr() 1016 uint32_t type_idx = in Expand_LoadTypeFromDexCache() local 1020 EmitLoadDexCacheResolvedTypeFieldAddr(type_idx); in Expand_LoadTypeFromDexCache() 1732 uint32_t type_idx) { in EmitLoadConstantClass() argument 1734 *dex_compilation_unit_->GetDexFile(), type_idx)) { in EmitLoadConstantClass() [all …]
|
D | intrinsic_func_list.def | 187 // JavaObject* art_portable_const_class(uint32_t type_idx) 194 // JavaObject* art_portable_initialize_type_and_verify_access(uint32_t type_idx, 203 // JavaObject* art_portable_load_type_from_dex_cache(uint32_t type_idx) 210 // JavaObject* art_portable_initialize_type(uint32_t type_idx, 248 // void art_portable_hl_check_cast(uint32_t type_idx, JavaObject* obj) 266 // JavaObject* art_portable_alloc_object(uint32_t type_idx, 275 // JavaObject* art_portable_alloc_object_with_access_check(uint32_t type_idx, 288 // JavaObject* art_portable_new_instance(uint32_t type_idx) 295 // bool art_portable_instance_of(uint32_t type_idx, JavaObject* ref) 306 // JavaObject* art_portable_new_array(uint32_t type_idx, uint32_t array_size) [all …]
|
/art/runtime/native/ |
D | dalvik_system_VMRuntime.cc | 245 static void PreloadDexCachesResolveType(mirror::DexCache* dex_cache, uint32_t type_idx) in PreloadDexCachesResolveType() argument 247 mirror::Class* klass = dex_cache->GetResolvedType(type_idx); in PreloadDexCachesResolveType() 252 const char* class_name = dex_file->StringByTypeIdx(type_idx); in PreloadDexCachesResolveType() 263 dex_cache->SetResolvedType(type_idx, klass); in PreloadDexCachesResolveType()
|
/art/compiler/driver/ |
D | compiler_driver.cc | 827 bool CompilerDriver::CanAssumeTypeIsPresentInDexCache(const DexFile& dex_file, uint32_t type_idx) { in CanAssumeTypeIsPresentInDexCache() argument 829 IsImageClass(dex_file.StringDataByIdx(dex_file.GetTypeId(type_idx).descriptor_idx_))) { in CanAssumeTypeIsPresentInDexCache() 833 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAssumeTypeIsPresentInDexCache() 871 uint32_t type_idx, in CanAccessTypeWithoutChecks() argument 886 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAccessTypeWithoutChecks() 893 *equals_referrers_class = (method_id.class_idx_ == type_idx); in CanAccessTypeWithoutChecks() 919 uint32_t type_idx) { in CanAccessInstantiableTypeWithoutChecks() argument 923 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanAccessInstantiableTypeWithoutChecks() 945 bool CompilerDriver::CanEmbedTypeInCode(const DexFile& dex_file, uint32_t type_idx, in CanEmbedTypeInCode() argument 954 mirror::Class* resolved_class = dex_cache->GetResolvedType(type_idx); in CanEmbedTypeInCode() [all …]
|