/art/runtime/ |
D | class_linker-inl.h | 117 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 128 referrer->GetDexCache<kDefaultVerifyFlags, kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 130 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 135 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 142 referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 144 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 149 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType() argument 156 referrer->GetDexCache<kWithoutReadBarrier>()->GetResolvedType(type_idx); in ResolveType() 158 resolved_type = DoResolveType(type_idx, referrer); in ResolveType() 163 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() 229 inline bool ArtMethod::IsResolvedTypeIdx(dex::TypeIndex type_idx) { in IsResolvedTypeIdx() argument 231 return LookupResolvedClassFromTypeIndex(type_idx) != nullptr; in IsResolvedTypeIdx() 290 inline const char* ArtMethod::GetTypeDescriptorFromTypeIdx(dex::TypeIndex type_idx) { in GetTypeDescriptorFromTypeIdx() argument 293 return dex_file->GetTypeDescriptor(dex_file->GetTypeId(type_idx)); in GetTypeDescriptorFromTypeIdx()
|
D | class_linker.h | 272 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ObjPtr<mirror::Class> referrer) 275 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ArtField* referrer) 278 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, ArtMethod* referrer) 285 ObjPtr<mirror::Class> ResolveType(dex::TypeIndex type_idx, 294 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, 297 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, ArtField* referrer) 299 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, ArtMethod* referrer) 305 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_idx, 1021 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx, 1024 ObjPtr<mirror::Class> DoLookupResolvedType(dex::TypeIndex type_idx, [all …]
|
D | class_linker_test.cc | 983 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 986 class_linker_->LookupResolvedType(type_idx, dex_cache, class_loader.Get()), in TEST_F() 989 dex_cache->ClearResolvedType(type_idx); in TEST_F() 990 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 992 class_linker_->LookupResolvedType(type_idx, dex_cache, class_loader.Get()), in TEST_F() 1039 dex::TypeIndex type_idx = klass->GetClassDef()->class_idx_; in TEST_F() local 1042 class_linker_->LookupResolvedType(type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() 1045 dex_cache->ClearResolvedType(type_idx); in TEST_F() 1046 EXPECT_TRUE(dex_cache->GetResolvedType(type_idx) == nullptr); in TEST_F() 1048 class_linker_->LookupResolvedType(type_idx, dex_cache.Get(), class_loader.Get()), in TEST_F() [all …]
|
D | art_method.h | 444 ObjPtr<mirror::Class> LookupResolvedClassFromTypeIndex(dex::TypeIndex type_idx) 447 ObjPtr<mirror::Class> ResolveClassFromTypeIndex(dex::TypeIndex type_idx) 650 bool IsResolvedTypeIdx(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 670 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 | 81 dex::TypeIndex type_idx, in StoreTypeInBss() argument 89 type_idx.index_, in StoreTypeInBss() 153 extern "C" mirror::Class* artResolveTypeFromCode(uint32_t type_idx, Thread* self) in artResolveTypeFromCode() argument 160 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artResolveTypeFromCode() 166 StoreTypeInBss(caller_and_outer.outer_method, dex::TypeIndex(type_idx), result); in artResolveTypeFromCode() 171 extern "C" mirror::Class* artResolveTypeAndVerifyAccessFromCode(uint32_t type_idx, Thread* self) in artResolveTypeAndVerifyAccessFromCode() argument 178 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artResolveTypeAndVerifyAccessFromCode()
|
/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 172 GetResolvedTypes()[TypeSlotIndex(type_idx)].store( in SetResolvedType() 173 TypeDexCachePair(resolved, type_idx.index_), std::memory_order_release); in SetResolvedType() 178 inline void DexCache::ClearResolvedType(dex::TypeIndex type_idx) { in ClearResolvedType() argument [all …]
|
D | dex_cache.h | 294 Class* GetResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 296 void SetResolvedType(dex::TypeIndex type_idx, ObjPtr<Class> resolved) 299 void ClearResolvedType(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_); 473 uint32_t TypeSlotIndex(dex::TypeIndex type_idx) REQUIRES_SHARED(Locks::mutator_lock_);
|
/art/libdexfile/dex/ |
D | dex_file.cc | 213 const ClassDef* DexFile::FindClassDef(dex::TypeIndex type_idx) const { in FindClassDef() 221 if (class_def.class_idx_ == type_idx) { in FindClassDef() 246 const dex::TypeIndex type_idx = GetIndexForTypeId(type); in FindFieldId() local 262 if (type_idx > field.type_idx_) { in FindFieldId() 264 } else if (type_idx < field.type_idx_) { in FindFieldId() 443 dex::TypeIndex type_idx = GetIndexForTypeId(*type_id); in CreateTypeList() local 445 param_type_idxs->push_back(type_idx); in CreateTypeList() 447 *return_type_idx = type_idx; in CreateTypeList() 568 std::string DexFile::PrettyType(dex::TypeIndex type_idx) const { in PrettyType() 569 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 | 810 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckAndGetHandlerOffsets() 811 if (!CheckIndex(type_idx, header_->type_ids_size_, "handler type_idx")) { in CheckAndGetHandlerOffsets() 1771 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckIntraDebugInfoItem() 1772 if (type_idx != 0) { in CheckIntraDebugInfoItem() 1773 type_idx--; in CheckIntraDebugInfoItem() 1774 if (!CheckIndex(type_idx, header_->type_ids_size_, "DBG_START_LOCAL type_idx")) { in CheckIntraDebugInfoItem() 1802 DECODE_UNSIGNED_CHECKED_FROM(ptr_, type_idx); in CheckIntraDebugInfoItem() 1803 if (type_idx != 0) { in CheckIntraDebugInfoItem() 1804 type_idx--; in CheckIntraDebugInfoItem() 1805 if (!CheckIndex(type_idx, header_->type_ids_size_, "DBG_START_LOCAL_EXTENDED type_idx")) { in CheckIntraDebugInfoItem()
|
/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/entrypoints/ |
D | entrypoint_utils.h | 81 ALWAYS_INLINE inline ObjPtr<mirror::Class> CheckArrayAlloc(dex::TypeIndex type_idx, 93 ALWAYS_INLINE inline ObjPtr<mirror::Array> AllocArrayFromCode(dex::TypeIndex type_idx, 161 inline ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx,
|
D | entrypoint_utils-inl.h | 228 inline ObjPtr<mirror::Class> CheckArrayAlloc(dex::TypeIndex type_idx, in CheckArrayAlloc() argument 237 ObjPtr<mirror::Class> klass = method->GetDexCache()->GetResolvedType(type_idx); in CheckArrayAlloc() 240 klass = class_linker->ResolveType(type_idx, method); in CheckArrayAlloc() 265 inline ObjPtr<mirror::Array> AllocArrayFromCode(dex::TypeIndex type_idx, in AllocArrayFromCode() argument 272 CheckArrayAlloc<kAccessCheck>(type_idx, component_count, method, &slow_path); in AllocArrayFromCode() 701 inline ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx, in ResolveVerifyAndClinit() argument 707 ObjPtr<mirror::Class> klass = class_linker->ResolveType(type_idx, referrer); in ResolveVerifyAndClinit()
|
/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/runtime/verifier/ |
D | verifier_deps.h | 90 dex::TypeIndex type_idx, 163 ClassResolution(dex::TypeIndex type_idx, uint16_t access_flags) in ClassResolution() 164 : ClassResolutionBase(type_idx, access_flags) {} in ClassResolution() 303 dex::TypeIndex type_idx,
|
D | verifier_deps.cc | 131 dex::TypeIndex type_idx, in TryGetClassDescriptorStringId() argument 135 const dex::TypeId& type_id = dex_file.GetTypeId(type_idx); in TryGetClassDescriptorStringId() 293 dex::TypeIndex type_idx, in AddClassResolution() argument 307 dex_deps->classes_.emplace(ClassResolution(type_idx, GetAccessFlags(klass))); in AddClassResolution() 542 dex::TypeIndex type_idx, in MaybeRecordClassResolution() argument 546 thread_deps->AddClassResolution(dex_file, type_idx, klass); in MaybeRecordClassResolution()
|
/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/libprofile/profile/ |
D | profile_compilation_info.h | 138 ClassReference(ProfileIndexType dex_profile_idx, const dex::TypeIndex type_idx) : in ClassReference() 139 dex_profile_index(dex_profile_idx), type_index(type_idx) {} in ClassReference() 165 void AddClass(uint16_t dex_profile_idx, const dex::TypeIndex& type_idx); 460 dex::TypeIndex type_idx,
|
D | profile_compilation_info.cc | 132 const dex::TypeIndex& type_idx) { in AddClass() argument 141 ClassReference ref(dex_profile_idx, type_idx); in AddClass() 1628 dex::TypeIndex type_idx, in ContainsClass() argument 1631 return (dex_data != nullptr) && dex_data->ContainsClass(type_idx); in ContainsClass() 1836 uint16_t type_idx = rand() % max_classes; in GenerateTestProfile() local 1838 type_idx %= kFavorFirstN; in GenerateTestProfile() 1840 data->class_set.insert(dex::TypeIndex(type_idx)); in GenerateTestProfile() 2125 for (dex::TypeIndex type_idx : data->class_set) { in GetClassDescriptors() local 2126 if (!dex_file->IsTypeIndexValid(type_idx)) { in GetClassDescriptors() 2129 << type_idx.index_ << " in dex " << dex_file->GetLocation(); in GetClassDescriptors() [all …]
|
/art/runtime/native/ |
D | dalvik_system_VMRuntime.cc | 408 dex::TypeIndex type_idx) in PreloadDexCachesResolveType() argument 410 uint32_t slot_idx = dex_cache->TypeSlotIndex(type_idx); in PreloadDexCachesResolveType() 416 const char* class_name = dex_file->StringByTypeIdx(type_idx); in PreloadDexCachesResolveType() 424 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()
|