Home
last modified time | relevance | path

Searched refs:type_idx (Results 1 – 25 of 43) sorted by relevance

12

/art/runtime/entrypoints/quick/
Dquick_dexcache_entrypoints.cc62 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/
Ddex_cache-inl.h92 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 …]
Ddex_cache.h282 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/
Ddex_instruction.cc204 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()
Dart_method-inl.h157 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()
Dclass_linker-inl.h65 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()
Ddex_file.cc639 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 …]
Dclass_linker_test.cc922 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 …]
Ddex_file_verifier.cc169 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 …]
Dart_method.h380 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)
Doat_file_manager.cc176 uint16_t type_idx = class_def.class_idx_.index_; in GenerateTypeIndexes() local
177 type_indexes.SetBit(type_idx); in GenerateTypeIndexes()
Ddex_file_verifier.h159 const char* CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, const char* error_fmt);
Dclass_linker.h252 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/
Dverifier_deps.h70 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,
Dverifier_deps.cc117 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/
Dentrypoint_utils.h76 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,
Dentrypoint_utils-inl.h239 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/
Dprofile_compilation_info.h113 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,
Dprofile_compilation_info.cc96 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/
Ddex_cache_arrays_layout-inl.h77 inline size_t DexCacheArraysLayout::TypeOffset(dex::TypeIndex type_idx) const { in TypeOffset() argument
79 type_idx.index_ % mirror::DexCache::kDexCacheTypeCacheSize); in TypeOffset()
Ddex_cache_arrays_layout.h68 size_t TypeOffset(dex::TypeIndex type_idx) const;
/art/compiler/utils/
Dtest_dex_file_builder.h113 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/
Ddalvik_system_VMRuntime.cc321 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()
Djava_lang_reflect_Executable.cc304 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/
Ddex_visualize.cc260 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()

12