/art/runtime/entrypoints/quick/ |
D | quick_dexcache_entrypoints.cc | 62 extern "C" mirror::Class* artInitializeStaticStorageFromCode(uint32_t type_idx, Thread* self) in artInitializeStaticStorageFromCode() argument 72 ResolveVerifyAndClinit(dex::TypeIndex(type_idx), caller, self, true, false); in artInitializeStaticStorageFromCode() 79 extern "C" mirror::Class* artInitializeTypeFromCode(uint32_t type_idx, Thread* self) in artInitializeTypeFromCode() argument 87 ResolveVerifyAndClinit(dex::TypeIndex(type_idx), caller, self, false, false); in artInitializeTypeFromCode() 94 extern "C" mirror::Class* artInitializeTypeAndVerifyAccessFromCode(uint32_t type_idx, Thread* self) in artInitializeTypeAndVerifyAccessFromCode() argument 103 ResolveVerifyAndClinit(dex::TypeIndex(type_idx), caller, self, false, true); in artInitializeTypeAndVerifyAccessFromCode()
|
/art/runtime/mirror/ |
D | dex_cache-inl.h | 92 inline uint32_t DexCache::TypeSlotIndex(dex::TypeIndex type_idx) { in TypeSlotIndex() argument 93 DCHECK_LT(type_idx.index_, GetDexFile()->NumTypeIds()); in TypeSlotIndex() 94 const uint32_t slot_idx = type_idx.index_ % kDexCacheTypeCacheSize; in TypeSlotIndex() 99 inline Class* DexCache::GetResolvedType(dex::TypeIndex type_idx) { in GetResolvedType() argument 102 return GetResolvedTypes()[TypeSlotIndex(type_idx)].load( in GetResolvedType() 103 std::memory_order_relaxed).GetObjectForIndex(type_idx.index_); in GetResolvedType() 106 inline void DexCache::SetResolvedType(dex::TypeIndex type_idx, ObjPtr<Class> resolved) { in SetResolvedType() argument 112 GetResolvedTypes()[TypeSlotIndex(type_idx)].store( in SetResolvedType() 113 TypeDexCachePair(resolved, type_idx.index_), std::memory_order_release); in SetResolvedType() 118 inline void DexCache::ClearResolvedType(dex::TypeIndex type_idx) { in ClearResolvedType() argument [all …]
|
D | dex_cache.h | 282 Class* GetResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 284 void SetResolvedType(dex::TypeIndex type_idx, ObjPtr<Class> resolved) 287 void ClearResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 441 uint32_t TypeSlotIndex(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_);
|
/art/runtime/ |
D | dex_instruction.cc | 204 dex::TypeIndex type_idx(VRegB_21c()); in DumpString() local 206 << file->PrettyType(type_idx) << " // type@" << type_idx; in DumpString() 298 dex::TypeIndex type_idx(VRegC_22c()); in DumpString() local 300 << static_cast<int>(VRegB_22c()) << ", " << file->PrettyType(type_idx) in DumpString() 301 << " // type@" << type_idx.index_; in DumpString() 307 dex::TypeIndex type_idx(VRegC_22c()); in DumpString() local 309 << static_cast<int>(VRegB_22c()) << ", " << file->PrettyType(type_idx) in DumpString() 310 << " // type@" << type_idx.index_; in DumpString()
|
D | art_method-inl.h | 157 inline mirror::Class* ArtMethod::GetClassFromTypeIndex(dex::TypeIndex type_idx, bool resolve) { in GetClassFromTypeIndex() argument 161 ObjPtr<mirror::Class> type = dex_cache->GetResolvedType(type_idx); in GetClassFromTypeIndex() 165 type = class_linker->ResolveType(type_idx, this); in GetClassFromTypeIndex() 169 *dex_cache->GetDexFile(), type_idx, dex_cache, GetClassLoader()); in GetClassFromTypeIndex() 295 inline bool ArtMethod::IsResolvedTypeIdx(dex::TypeIndex type_idx) { in IsResolvedTypeIdx() argument 297 return GetClassFromTypeIndex(type_idx, /* resolve */ false) != nullptr; in IsResolvedTypeIdx() 353 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(dex::TypeIndex type_idx) { in GetTypeDescriptorFromTypeIdx() argument 356 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx)); in GetTypeDescriptorFromTypeIdx()
|
D | class_linker-inl.h | 65 dex::TypeIndex type_idx, in LookupResolvedType() argument 68 ObjPtr<mirror::Class> type = dex_cache->GetResolvedType(type_idx); in LookupResolvedType() 71 *dex_cache->GetDexFile(), type_idx, dex_cache, class_loader); in LookupResolvedType() 76 inline mirror::Class* ClassLinker::ResolveType(dex::TypeIndex type_idx, ArtMethod* referrer) { in ResolveType() argument 81 ObjPtr<mirror::Class> resolved_type = referrer->GetDexCache()->GetResolvedType(type_idx); in ResolveType() 88 resolved_type = ResolveType(dex_file, type_idx, dex_cache, class_loader); in ResolveType()
|
D | dex_file.cc | 639 const DexFile::ClassDef* DexFile::FindClassDef(dex::TypeIndex type_idx) const { in FindClassDef() 647 if (class_def.class_idx_ == type_idx) { in FindClassDef() 708 const dex::TypeIndex type_idx = GetIndexForTypeId(type); in FindFieldId() local 724 if (type_idx > field.type_idx_) { in FindFieldId() 726 } else if (type_idx < field.type_idx_) { in FindFieldId() 923 dex::TypeIndex type_idx = GetIndexForTypeId(*type_id); in CreateTypeList() local 925 param_type_idxs->push_back(type_idx); in CreateTypeList() 927 *return_type_idx = type_idx; in CreateTypeList() 1336 std::string DexFile::PrettyType(dex::TypeIndex type_idx) const { in PrettyType() 1337 if (type_idx.index_ >= NumTypeIds()) { in PrettyType() [all …]
|
D | class_linker_test.cc | 922 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 926 class_linker_->LookupResolvedType(dex_file, type_idx, dex_cache, class_loader.Get()), in TEST_F() 929 dex_cache->ClearResolvedType(type_idx); in TEST_F() 930 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 932 class_linker_->LookupResolvedType(dex_file, type_idx, dex_cache, class_loader.Get()), in TEST_F() 980 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 984 class_linker_->LookupResolvedType(dex_file, type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() 987 dex_cache->ClearResolvedType(type_idx); in TEST_F() 988 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 990 class_linker_->LookupResolvedType(dex_file, type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() [all …]
|
D | dex_file_verifier.cc | 169 const char* DexFileVerifier::CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, in CheckLoadStringByTypeIdx() argument 171 if (UNLIKELY(!CheckIndex(type_idx.index_, dex_file_->NumTypeIds(), error_string))) { in CheckLoadStringByTypeIdx() 174 return CheckLoadStringByIdx(dex_file_->GetTypeId(type_idx).descriptor_idx_, error_string); in CheckLoadStringByTypeIdx() 206 #define LOAD_STRING_BY_TYPE(var, type_idx, error) \ argument 207 const char* (var) = CheckLoadStringByTypeIdx(type_idx, error); \ 595 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckAndGetHandlerOffsets() 596 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { in CheckAndGetHandlerOffsets() 1443 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckIntraDebugInfoItem() 1444 if (type_idx != 0) { in CheckIntraDebugInfoItem() 1445 type_idx--; in CheckIntraDebugInfoItem() [all …]
|
D | art_method.h | 380 mirror::Class* GetClassFromTypeIndex(dex::TypeIndex type_idx, bool resolve) 574 bool IsResolvedTypeIdx(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 592 const char* GetTypeDescriptorFromTypeIdx(dex::TypeIndex type_idx)
|
D | oat_file_manager.cc | 176 uint16_t type_idx = class_def.class_idx_.index_; in GenerateTypeIndexes() local 177 type_indexes.SetBit(type_idx); in GenerateTypeIndexes()
|
D | dex_file_verifier.h | 159 const char* CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, const char* error_fmt);
|
D | class_linker.h | 252 dex::TypeIndex type_idx, 260 mirror::Class* ResolveType(dex::TypeIndex type_idx, ArtMethod* referrer) 267 dex::TypeIndex type_idx, 271 static ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, 281 dex::TypeIndex type_idx,
|
/art/runtime/verifier/ |
D | verifier_deps.h | 70 dex::TypeIndex type_idx, 77 dex::TypeIndex type_idx, 135 ClassResolution(dex::TypeIndex type_idx, uint16_t access_flags) in ClassResolution() 136 : ClassResolutionBase(type_idx, access_flags) {} in ClassResolution() 258 dex::TypeIndex type_idx,
|
D | verifier_deps.cc | 117 dex::TypeIndex type_idx, in TryGetClassDescriptorStringId() argument 121 const DexFile::TypeId& type_id = dex_file.GetTypeId(type_idx); in TryGetClassDescriptorStringId() 279 dex::TypeIndex type_idx, in AddClassResolution() argument 293 dex_deps->classes_.emplace(ClassResolution(type_idx, GetAccessFlags(klass))); in AddClassResolution() 498 dex::TypeIndex type_idx, in MaybeRecordVerificationStatus() argument 508 dex_deps->unverified_classes_.insert(type_idx); in MaybeRecordVerificationStatus() 513 dex::TypeIndex type_idx, in MaybeRecordClassResolution() argument 517 thread_deps->AddClassResolution(dex_file, type_idx, klass); in MaybeRecordClassResolution()
|
/art/runtime/entrypoints/ |
D | entrypoint_utils.h | 76 ALWAYS_INLINE inline mirror::Class* CheckArrayAlloc(dex::TypeIndex type_idx, 88 ALWAYS_INLINE inline mirror::Array* AllocArrayFromCode(dex::TypeIndex type_idx, 146 inline mirror::Class* ResolveVerifyAndClinit(dex::TypeIndex type_idx,
|
D | entrypoint_utils-inl.h | 239 inline mirror::Class* CheckArrayAlloc(dex::TypeIndex type_idx, in CheckArrayAlloc() argument 248 mirror::Class* klass = method->GetDexCache()->GetResolvedType(type_idx); in CheckArrayAlloc() 251 klass = class_linker->ResolveType(type_idx, method); in CheckArrayAlloc() 276 inline mirror::Array* AllocArrayFromCode(dex::TypeIndex type_idx, in AllocArrayFromCode() argument 282 mirror::Class* klass = CheckArrayAlloc<kAccessCheck>(type_idx, component_count, method, in AllocArrayFromCode() 714 inline mirror::Class* ResolveVerifyAndClinit(dex::TypeIndex type_idx, in ResolveVerifyAndClinit() argument 720 mirror::Class* klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit()
|
/art/runtime/jit/ |
D | profile_compilation_info.h | 113 ClassReference(uint8_t dex_profile_idx, const dex::TypeIndex type_idx) : in ClassReference() 114 dex_profile_index(dex_profile_idx), type_index(type_idx) {} in ClassReference() 140 void AddClass(uint16_t dex_profile_idx, const dex::TypeIndex& type_idx); 327 bool ContainsClass(const DexFile& dex_file, dex::TypeIndex type_idx) const; 506 dex::TypeIndex type_idx,
|
D | profile_compilation_info.cc | 96 const dex::TypeIndex& type_idx) { in AddClass() argument 105 ClassReference ref(dex_profile_idx, type_idx); in AddClass() 681 dex::TypeIndex type_idx, in AddClassIndex() argument 687 data->class_set.insert(type_idx); in AddClassIndex() 1298 bool ProfileCompilationInfo::ContainsClass(const DexFile& dex_file, dex::TypeIndex type_idx) const { in ContainsClass() 1302 return classes.find(type_idx) != classes.end(); in ContainsClass() 1533 uint16_t type_idx = rand() % max_classes; in GenerateTestProfile() local 1535 type_idx %= kFavorFirstN; in GenerateTestProfile() 1537 info.AddClassIndex(profile_key, 0, dex::TypeIndex(type_idx), max_method); in GenerateTestProfile() 1674 for (dex::TypeIndex type_idx : data->class_set) { in GetClassDescriptors() local [all …]
|
/art/runtime/utils/ |
D | dex_cache_arrays_layout-inl.h | 77 inline size_t DexCacheArraysLayout::TypeOffset(dex::TypeIndex type_idx) const { in TypeOffset() argument 79 type_idx.index_ % mirror::DexCache::kDexCacheTypeCacheSize); in TypeOffset()
|
D | dex_cache_arrays_layout.h | 68 size_t TypeOffset(dex::TypeIndex type_idx) const;
|
/art/compiler/utils/ |
D | test_dex_file_builder.h | 113 uint32_t type_idx = 0u; in Build() local 115 entry.second = type_idx; in Build() 116 type_idx += 1u; in Build() 177 ++type_idx; in Build()
|
/art/runtime/native/ |
D | dalvik_system_VMRuntime.cc | 321 dex::TypeIndex type_idx) in PreloadDexCachesResolveType() argument 323 uint32_t slot_idx = dex_cache->TypeSlotIndex(type_idx); in PreloadDexCachesResolveType() 329 const char* class_name = dex_file->StringByTypeIdx(type_idx); in PreloadDexCachesResolveType() 338 dex_cache->SetResolvedType(type_idx, klass); in PreloadDexCachesResolveType()
|
D | java_lang_reflect_Executable.cc | 304 const dex::TypeIndex type_idx = params->GetTypeItem(i).type_idx_; in Executable_getParameterTypesInternal() local 305 param.Assign(Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method)); in Executable_getParameterTypesInternal()
|
/art/dexlayout/ |
D | dex_visualize.cc | 260 dex::TypeIndex type_idx(class_def->ClassType()->GetIndex()); in VisualizeDexLayout() local 261 if (profile_info != nullptr && !profile_info->ContainsClass(*dex_file, type_idx)) { in VisualizeDexLayout()
|