/art/runtime/ |
D | class_linker-inl.h | 114 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 125 referrer->GetDexCache<kDefaultVerifyFlags, kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 127 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 132 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 139 referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 141 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 146 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 153 referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 155 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 160 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument [all …]
|
D | art_method-inl.h | 90 inline ObjPtr<mirror::Class> ArtMethod::LookupResolvedClassFromTypeIndex(dex::TypeIndex type_idx) { in LookupResolvedClassFromTypeIndex() argument 93 Runtime::Current()->GetClassLinker()->LookupResolvedType(type_idx, this); in LookupResolvedClassFromTypeIndex() 98 inline ObjPtr<mirror::Class> ArtMethod::ResolveClassFromTypeIndex(dex::TypeIndex type_idx) { in ResolveClassFromTypeIndex() argument 99 ObjPtr<mirror::Class> type = Runtime::Current()->GetClassLinker()->ResolveType(type_idx, this); in ResolveClassFromTypeIndex() 227 inline bool ArtMethod::IsResolvedTypeIdx(dex::TypeIndex type_idx) { in IsResolvedTypeIdx() argument 229 return LookupResolvedClassFromTypeIndex(type_idx) != nullptr; in IsResolvedTypeIdx() 288 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(dex::TypeIndex type_idx) { in GetTypeDescriptorFromTypeIdx() argument 291 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx)); in GetTypeDescriptorFromTypeIdx()
|
D | class_linker.h | 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, 269 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, 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, 927 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx, 930 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx, [all …]
|
D | class_linker_test.cc | 976 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 979 class_linker_->LookupResolvedType(type_idx, dex_cache, class_loader.Get()), in TEST_F() 982 dex_cache->ClearResolvedType(type_idx); in TEST_F() 983 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 985 class_linker_->LookupResolvedType(type_idx, dex_cache, class_loader.Get()), in TEST_F() 1032 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 1035 class_linker_->LookupResolvedType(type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() 1038 dex_cache->ClearResolvedType(type_idx); in TEST_F() 1039 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 1041 class_linker_->LookupResolvedType(type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() [all …]
|
D | art_method.h | 400 ObjPtr<mirror::Class> LookupResolvedClassFromTypeIndex(dex::TypeIndex type_idx) 403 ObjPtr<mirror::Class> ResolveClassFromTypeIndex(dex::TypeIndex type_idx) 594 bool IsResolvedTypeIdx(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 614 const char* GetTypeDescriptorFromTypeIdx(dex::TypeIndex type_idx)
|
/art/tools/dexanalyze/ |
D | dexanalyze_bytecode.cc | 283 uint32_t type_idx = current_type.types_.Get(holder_type.index_); in ProcessCodeItem() local 285 ExtendPrefix(&type_idx, &field_idx); in ProcessCodeItem() 286 CHECK(InstNibbles(new_opcode, {out_reg, receiver, type_idx, field_idx})); in ProcessCodeItem() 344 uint32_t type_idx = current_type.types_.Get(holder_type.index_); in ProcessCodeItem() local 346 ++field_linkage_counts_[std::make_pair(type_idx, field_idx)]; in ProcessCodeItem() 347 extended_field_ += ExtendPrefix(&type_idx, &field_idx) ? 1u : 0u; in ProcessCodeItem() 348 if (InstNibbles(new_opcode, {out_reg >> 4, out_reg & 0xF, type_idx, field_idx})) { in ProcessCodeItem() 388 uint32_t type_idx = current_type.types_.Get(receiver_type.index_); in ProcessCodeItem() local 390 ++method_linkage_counts_[std::make_pair(type_idx, local_idx)]; in ProcessCodeItem() 401 extended_method_ += ExtendPrefix(&type_idx, &local_idx) ? 1u : 0u; in ProcessCodeItem() [all …]
|
/art/runtime/entrypoints/quick/ |
D | quick_dexcache_entrypoints.cc | 78 dex::TypeIndex type_idx, in StoreTypeInBss() argument 86 type_idx.index_, in StoreTypeInBss() 150 extern "C" mirror::Class* artResolveTypeFromCode(uint32_t type_idx, Thread* self) in artResolveTypeFromCode() argument 157 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artResolveTypeFromCode() 163 StoreTypeInBss(caller_and_outer.outer_method, dex::TypeIndex(type_idx), result); in artResolveTypeFromCode() 168 extern "C" mirror::Class* artResolveTypeAndVerifyAccessFromCode(uint32_t type_idx, Thread* self) in artResolveTypeAndVerifyAccessFromCode() argument 175 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artResolveTypeAndVerifyAccessFromCode()
|
/art/libdexfile/dex/ |
D | dex_file.cc | 212 const ClassDef* DexFile::FindClassDef(dex::TypeIndex type_idx) const { in FindClassDef() 220 if (class_def.class_idx_ == type_idx) { in FindClassDef() 245 const dex::TypeIndex type_idx = GetIndexForTypeId(type); in FindFieldId() local 261 if (type_idx > field.type_idx_) { in FindFieldId() 263 } else if (type_idx < field.type_idx_) { in FindFieldId() 442 dex::TypeIndex type_idx = GetIndexForTypeId(*type_id); in CreateTypeList() local 444 param_type_idxs->push_back(type_idx); in CreateTypeList() 446 *return_type_idx = type_idx; in CreateTypeList() 567 std::string DexFile::PrettyType(dex::TypeIndex type_idx) const { in PrettyType() 568 if (type_idx.index_ >= NumTypeIds()) { in PrettyType() [all …]
|
D | dex_instruction.cc | 224 dex::TypeIndex type_idx(VRegB_21c()); in DumpString() local 226 << file->PrettyType(type_idx) << " // type@" << type_idx; in DumpString() 318 dex::TypeIndex type_idx(VRegC_22c()); in DumpString() local 320 << static_cast<int>(VRegB_22c()) << ", " << file->PrettyType(type_idx) in DumpString() 321 << " // type@" << type_idx.index_; in DumpString() 327 dex::TypeIndex type_idx(VRegC_22c()); in DumpString() local 329 << static_cast<int>(VRegB_22c()) << ", " << file->PrettyType(type_idx) in DumpString() 330 << " // type@" << type_idx.index_; in DumpString()
|
D | test_dex_file_builder.h | 116 uint32_t type_idx = 0u; in Build() local 118 entry.second = type_idx; in Build() 119 type_idx += 1u; in Build() 180 ++type_idx; in Build()
|
D | dex_file_verifier.cc | 111 const char* DexFileVerifier::CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, in CheckLoadStringByTypeIdx() argument 113 if (UNLIKELY(!CheckIndex(type_idx.index_, dex_file_->NumTypeIds(), error_string))) { in CheckLoadStringByTypeIdx() 116 return CheckLoadStringByIdx(dex_file_->GetTypeId(type_idx).descriptor_idx_, error_string); in CheckLoadStringByTypeIdx() 149 #define LOAD_STRING_BY_TYPE(var, type_idx, error) \ argument 150 const char* (var) = CheckLoadStringByTypeIdx(type_idx, error); \ 554 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckAndGetHandlerOffsets() 555 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { in CheckAndGetHandlerOffsets() 1475 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckIntraDebugInfoItem() 1476 if (type_idx != 0) { in CheckIntraDebugInfoItem() 1477 type_idx--; in CheckIntraDebugInfoItem() [all …]
|
/art/runtime/mirror/ |
D | dex_cache-inl.h | 151 inline uint32_t DexCache::TypeSlotIndex(dex::TypeIndex type_idx) { in TypeSlotIndex() argument 152 DCHECK_LT(type_idx.index_, GetDexFile()->NumTypeIds()); in TypeSlotIndex() 153 const uint32_t slot_idx = type_idx.index_ % kDexCacheTypeCacheSize; in TypeSlotIndex() 158 inline Class* DexCache::GetResolvedType(dex::TypeIndex type_idx) { in GetResolvedType() argument 161 return GetResolvedTypes()[TypeSlotIndex(type_idx)].load( in GetResolvedType() 162 std::memory_order_relaxed).GetObjectForIndex(type_idx.index_); in GetResolvedType() 165 inline void DexCache::SetResolvedType(dex::TypeIndex type_idx, ObjPtr<Class> resolved) { in SetResolvedType() argument 171 GetResolvedTypes()[TypeSlotIndex(type_idx)].store( in SetResolvedType() 172 TypeDexCachePair(resolved, type_idx.index_), std::memory_order_release); in SetResolvedType() 177 inline void DexCache::ClearResolvedType(dex::TypeIndex type_idx) { in ClearResolvedType() argument [all …]
|
D | dex_cache.h | 292 Class* GetResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 294 void SetResolvedType(dex::TypeIndex type_idx, ObjPtr<Class> resolved) 297 void ClearResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 471 uint32_t TypeSlotIndex(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_);
|
/art/runtime/entrypoints/ |
D | entrypoint_utils.h | 79 ALWAYS_INLINE inline ObjPtr<mirror::Class> CheckArrayAlloc(dex::TypeIndex type_idx, 91 ALWAYS_INLINE inline ObjPtr<mirror::Array> AllocArrayFromCode(dex::TypeIndex type_idx, 159 inline ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx,
|
D | entrypoint_utils-inl.h | 242 inline ObjPtr<mirror::Class> CheckArrayAlloc(dex::TypeIndex type_idx, in CheckArrayAlloc() argument 251 ObjPtr<mirror::Class> klass = method->GetDexCache()->GetResolvedType(type_idx); in CheckArrayAlloc() 254 klass = class_linker->ResolveType(type_idx, method); in CheckArrayAlloc() 279 inline ObjPtr<mirror::Array> AllocArrayFromCode(dex::TypeIndex type_idx, in AllocArrayFromCode() argument 286 CheckArrayAlloc<kAccessCheck>(type_idx, component_count, method, &slow_path); in AllocArrayFromCode() 707 inline ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx, in ResolveVerifyAndClinit() argument 713 ObjPtr<mirror::Class> klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit()
|
/art/libprofile/profile/ |
D | profile_compilation_info.cc | 125 const dex::TypeIndex& type_idx) { in AddClass() argument 134 ClassReference ref(dex_profile_idx, type_idx); in AddClass() 492 uint16_t type_idx = class_id.index_; in Save() local 493 AddUintToBuffer(&buffer, dex_data.class_counters[type_idx]); in Save() 801 dex::TypeIndex type_idx, in AddClassIndex() argument 807 data->class_set.insert(type_idx); in AddClassIndex() 1645 for (const dex::TypeIndex& type_idx : other_dex_data->class_set) { in MergeWith() local 1647 ? other_dex_data->class_counters[type_idx.index_] in MergeWith() 1648 : (dex_data->ContainsClass(type_idx) ? 1 : 0); in MergeWith() 1650 dex_data->class_counters[type_idx.index_] = in MergeWith() [all …]
|
D | profile_compilation_info.h | 121 ClassReference(uint8_t dex_profile_idx, const dex::TypeIndex type_idx) : in ClassReference() 122 dex_profile_index(dex_profile_idx), type_index(type_idx) {} in ClassReference() 148 void AddClass(uint16_t dex_profile_idx, const dex::TypeIndex& type_idx); 370 bool ContainsClass(const DexFile& dex_file, dex::TypeIndex type_idx) const; 624 dex::TypeIndex type_idx,
|
/art/tools/veridex/ |
D | resolver.cc | 32 const uint32_t type_idx = accessor.GetClassIdx().index_; in Run() local 35 type_infos_[type_idx] = *existing->second; in Run() 38 type_infos_[type_idx] = VeriClass(Primitive::Type::kPrimNot, 0, &accessor.GetClassDef()); in Run() 39 type_map_[name] = &type_infos_[type_idx]; in Run()
|
/art/runtime/verifier/ |
D | verifier_deps.h | 89 dex::TypeIndex type_idx, 161 ClassResolution(dex::TypeIndex type_idx, uint16_t access_flags) in ClassResolution() 162 : ClassResolutionBase(type_idx, access_flags) {} in ClassResolution() 300 dex::TypeIndex type_idx,
|
D | verifier_deps.cc | 134 dex::TypeIndex type_idx, in TryGetClassDescriptorStringId() argument 138 const dex::TypeId& type_id = dex_file.GetTypeId(type_idx); in TryGetClassDescriptorStringId() 296 dex::TypeIndex type_idx, in AddClassResolution() argument 310 dex_deps->classes_.emplace(ClassResolution(type_idx, GetAccessFlags(klass))); in AddClassResolution() 545 dex::TypeIndex type_idx, in MaybeRecordClassResolution() argument 549 thread_deps->AddClassResolution(dex_file, type_idx, klass); in MaybeRecordClassResolution()
|
/art/runtime/utils/ |
D | dex_cache_arrays_layout-inl.h | 78 inline size_t DexCacheArraysLayout::TypeOffset(dex::TypeIndex type_idx) const { in TypeOffset() argument 80 type_idx.index_ % mirror::DexCache::kDexCacheTypeCacheSize); in TypeOffset()
|
D | dex_cache_arrays_layout.h | 68 size_t TypeOffset(dex::TypeIndex type_idx) const;
|
/art/dexlayout/ |
D | dex_visualize.cc | 258 dex::TypeIndex type_idx(class_def->ClassType()->GetIndex()); in VisualizeDexLayout() local 259 if (profile_info != nullptr && !profile_info->ContainsClass(*dex_file, type_idx)) { in VisualizeDexLayout()
|
/art/runtime/native/ |
D | dalvik_system_VMRuntime.cc | 396 dex::TypeIndex type_idx) in PreloadDexCachesResolveType() argument 398 uint32_t slot_idx = dex_cache->TypeSlotIndex(type_idx); in PreloadDexCachesResolveType() 404 const char* class_name = dex_file->StringByTypeIdx(type_idx); in PreloadDexCachesResolveType() 413 dex_cache->SetResolvedType(type_idx, klass); in PreloadDexCachesResolveType()
|
D | java_lang_reflect_Executable.cc | 364 const dex::TypeIndex type_idx = params->GetTypeItem(i).type_idx_; in Executable_getParameterTypesInternal() local 365 param.Assign(Runtime::Current()->GetClassLinker()->ResolveType(type_idx, method)); in Executable_getParameterTypesInternal()
|