Home
last modified time | relevance | path

Searched refs:TypeIndex (Results 1 – 25 of 112) sorted by relevance

12345

/art/libdexfile/dex/
Ddex_file_types.h63 class TypeIndex {
67 constexpr TypeIndex() : index_(std::numeric_limits<decltype(index_)>::max()) {} in TypeIndex() function
68 explicit constexpr TypeIndex(uint16_t idx) : index_(idx) {} in TypeIndex() function
73 static TypeIndex Invalid() { in Invalid()
74 return TypeIndex(std::numeric_limits<decltype(index_)>::max()); in Invalid()
77 bool operator==(const TypeIndex& other) const {
80 bool operator!=(const TypeIndex& other) const {
83 bool operator<(const TypeIndex& other) const {
86 bool operator<=(const TypeIndex& other) const {
89 bool operator>(const TypeIndex& other) const {
[all …]
Dtype_reference.h34 TypeReference(const DexFile* file, dex::TypeIndex index) in TypeReference()
37 dex::TypeIndex TypeIndex() const { in TypeIndex() function
38 return dex::TypeIndex(index); in TypeIndex()
47 StringReference sr1(tr1.dex_file, tr1.dex_file->GetTypeId(tr1.TypeIndex()).descriptor_idx_); in operator()
48 StringReference sr2(tr2.dex_file, tr2.dex_file->GetTypeId(tr2.TypeIndex()).descriptor_idx_); in operator()
Ddex_file_verifier.h81 dex::TypeIndex class_type_index,
86 dex::TypeIndex class_type_index,
95 dex::TypeIndex* class_type_index,
110 dex::TypeIndex* class_type_index,
118 dex::TypeIndex* class_type_index,
136 dex::TypeIndex FindFirstClassDataDefiner(const uint8_t* ptr, bool* success);
137 dex::TypeIndex FindFirstAnnotationsDirectoryDefiner(const uint8_t* ptr, bool* success);
158 const char* CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, const char* error_fmt);
177 dex::TypeIndex* class_type_index,
Ddex_cache_resolved_classes.h49 bool AddClass(dex::TypeIndex index) const { in AddClass()
70 const std::unordered_set<dex::TypeIndex>& GetClasses() const { in GetClasses()
84 mutable std::unordered_set<dex::TypeIndex> classes_;
Ddex_file_exception_helpers.h36 dex::TypeIndex GetHandlerTypeIndex() const { in GetHandlerTypeIndex()
57 dex::TypeIndex type_idx_; // type index of the caught exception type
Ddex_file.h170 dex::TypeIndex class_idx_; // index into type_ids_ array for defining class
171 dex::TypeIndex type_idx_; // index into type_ids_ array for field type
181 dex::TypeIndex return_type_idx_; // index into type_ids array for return type
191 dex::TypeIndex class_idx_; // index into type_ids_ array for defining class
210 dex::TypeIndex class_idx_; // index into type_ids_ array for this class
213 dex::TypeIndex superclass_idx_; // index into type_ids_ array for superclass
248 dex::TypeIndex type_idx_; // index into type_ids section
516 bool IsTypeIndexValid(dex::TypeIndex idx) const { in IsTypeIndexValid()
521 const TypeId& GetTypeId(dex::TypeIndex idx) const { in GetTypeId()
526 dex::TypeIndex GetIndexForTypeId(const TypeId& type_id) const { in GetIndexForTypeId()
[all …]
Ddex_file.cc45 static_assert(sizeof(dex::TypeIndex) == sizeof(uint16_t), "TypeIndex size is wrong");
46 static_assert(std::is_trivially_copyable<dex::TypeIndex>::value, "TypeIndex not trivial");
206 const DexFile::ClassDef* DexFile::FindClassDef(dex::TypeIndex type_idx) const { in FindClassDef()
247 const dex::TypeIndex class_idx = GetIndexForTypeId(declaring_klass); in FindFieldId()
249 const dex::TypeIndex type_idx = GetIndexForTypeId(type); in FindFieldId()
282 const dex::TypeIndex class_idx = GetIndexForTypeId(declaring_klass); in FindMethodId()
337 const TypeId& type_id = GetTypeId(dex::TypeIndex(mid)); in FindTypeId()
376 const TypeId& type_id = GetTypeId(dex::TypeIndex(mid)); in FindTypeId()
388 const DexFile::ProtoId* DexFile::FindProtoId(dex::TypeIndex return_type_idx, in FindProtoId()
389 const dex::TypeIndex* signature_type_idxs, in FindProtoId()
[all …]
Ddex_file_exception_helpers.cc87 handler_.type_idx_ = dex::TypeIndex(DecodeUnsignedLeb128(&current_data_)); in Next()
94 handler_.type_idx_ = dex::TypeIndex(DexFile::kDexNoIndex16); in Next()
Ddex_file_verifier.cc169 const char* DexFileVerifier::CheckLoadStringByTypeIdx(dex::TypeIndex type_idx, in CheckLoadStringByTypeIdx()
637 dex::TypeIndex class_type_index, in CheckClassDataItemField()
645 dex::TypeIndex my_class_index = in CheckClassDataItemField()
675 dex::TypeIndex class_type_index, in CheckClassDataItemMethod()
686 dex::TypeIndex my_class_index = in CheckClassDataItemMethod()
947 dex::TypeIndex* class_type_index, in FindClassIndexAndDef()
994 dex::TypeIndex* class_type_index, in CheckOrderAndGetClassDef()
1115 dex::TypeIndex* class_type_index, in CheckIntraClassDataItemFields()
1151 dex::TypeIndex* class_type_index, in CheckIntraClassDataItemMethods()
1190 dex::TypeIndex class_type_index; in CheckIntraClassDataItem()
[all …]
/art/compiler/optimizing/
Dssa_liveness_analysis_test.cc69 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kInt32); in TEST_F()
89 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
91 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
93 graph_->GetDexFile(), dex::TypeIndex(2), 2, DataType::Type::kInt32); in TEST_F()
95 graph_->GetDexFile(), dex::TypeIndex(3), 3, DataType::Type::kInt32); in TEST_F()
97 graph_->GetDexFile(), dex::TypeIndex(4), 4, DataType::Type::kReference); in TEST_F()
158 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
160 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
162 graph_->GetDexFile(), dex::TypeIndex(2), 2, DataType::Type::kInt32); in TEST_F()
164 graph_->GetDexFile(), dex::TypeIndex(3), 3, DataType::Type::kInt32); in TEST_F()
[all …]
Dinstruction_builder.h100 bool NeedsAccessCheck(dex::TypeIndex type_index, /*out*/bool* finalizable) const
187 dex::TypeIndex type_index,
216 dex::TypeIndex type_index,
226 HLoadClass* BuildLoadClass(dex::TypeIndex type_index, uint32_t dex_pc);
228 HLoadClass* BuildLoadClass(dex::TypeIndex type_index,
242 bool IsOutermostCompilingClass(dex::TypeIndex type_index) const;
281 HNewInstance* BuildNewInstance(dex::TypeIndex type_index, uint32_t dex_pc);
299 ObjPtr<mirror::Class> LookupResolvedType(dex::TypeIndex type_index,
Dnodes_test.cc38 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
78 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
80 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
103 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
121 graph->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
Dload_store_analysis_test.cc48 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
50 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
121 dex::TypeIndex(0), in TEST_F()
191 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
193 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
281 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
283 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
486 graph_->GetDexFile(), dex::TypeIndex(0), 0, DataType::Type::kReference); in TEST_F()
488 graph_->GetDexFile(), dex::TypeIndex(1), 1, DataType::Type::kInt32); in TEST_F()
608 dex::TypeIndex(0), in TEST_F()
/art/runtime/entrypoints/quick/
Dquick_dexcache_entrypoints.cc78 dex::TypeIndex type_idx, in StoreTypeInBss()
141 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artInitializeStaticStorageFromCode()
147 StoreTypeInBss(caller_and_outer.outer_method, dex::TypeIndex(type_idx), result); in artInitializeStaticStorageFromCode()
159 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artInitializeTypeFromCode()
165 StoreTypeInBss(caller_and_outer.outer_method, dex::TypeIndex(type_idx), result); in artInitializeTypeFromCode()
177 ObjPtr<mirror::Class> result = ResolveVerifyAndClinit(dex::TypeIndex(type_idx), in artInitializeTypeAndVerifyAccessFromCode()
/art/runtime/verifier/
Dverifier_deps.h70 dex::TypeIndex type_idx,
77 dex::TypeIndex type_idx,
120 const std::set<dex::TypeIndex>& GetUnverifiedClasses(const DexFile& dex_file) const { in GetUnverifiedClasses()
131 using ClassResolutionBase = std::tuple<dex::TypeIndex, uint16_t>;
135 ClassResolution(dex::TypeIndex type_idx, uint16_t access_flags) in ClassResolution()
139 dex::TypeIndex GetDexTypeIndex() const { return std::get<0>(*this); } in GetDexTypeIndex()
200 std::set<dex::TypeIndex> unverified_classes_;
258 dex::TypeIndex type_idx,
Dmethod_verifier-inl.h75 inline const RegType& MethodVerifier::ResolveCheckedClass(dex::TypeIndex class_idx) { in ResolveCheckedClass()
Dverifier_deps.cc117 dex::TypeIndex type_idx, in TryGetClassDescriptorStringId()
279 dex::TypeIndex type_idx, in AddClassResolution()
498 dex::TypeIndex type_idx, in MaybeRecordVerificationStatus()
513 dex::TypeIndex type_idx, in MaybeRecordClassResolution()
565 template<> inline uint32_t Encode<dex::TypeIndex>(dex::TypeIndex in) { in Encode()
580 template<> inline dex::TypeIndex Decode<dex::TypeIndex>(uint32_t in) { in Decode()
581 return dex::TypeIndex(in); in Decode()
588 static inline void EncodeTuple(std::vector<uint8_t>* out, const dex::TypeIndex& t) { in EncodeTuple()
593 static inline void DecodeTuple(const uint8_t** in, const uint8_t* end, dex::TypeIndex* t) { in DecodeTuple()
594 *t = Decode<dex::TypeIndex>(DecodeUint32WithOverflowCheck(in, end)); in DecodeTuple()
[all …]
Dmethod_verifier.h210 const RegType& ResolveCheckedClass(dex::TypeIndex class_idx)
420 bool CheckNewInstance(dex::TypeIndex idx);
431 bool CheckTypeIndex(dex::TypeIndex idx);
435 bool CheckNewArray(dex::TypeIndex idx);
585 const RegType& ResolveClass(dex::TypeIndex class_idx)
/art/profman/
Dboot_image_profile.cc54 std::set<std::pair<const ProfileCompilationInfo*, dex::TypeIndex>> inferred_classes; in GenerateBootImageProfile()
113 auto it = inferred_classes.find(std::make_pair(profile.get(), ref.TypeIndex())); in GenerateBootImageProfile()
115 profile->ContainsClass(*ref.dex_file, ref.TypeIndex())) { in GenerateBootImageProfile()
Dprofman.cc582 std::set<dex::TypeIndex> class_types; in GetClassNamesAndMethods()
592 for (const dex::TypeIndex& type_index : class_types) { in GetClassNamesAndMethods()
751 *class_ref = TypeReference(dex_file, dex::TypeIndex(kInvalidTypeIndex)); in FindClass()
764 dex::TypeIndex type_index = dex_file->GetIndexForTypeId(*type_id); in FindClass()
801 dex::TypeIndex return_type_idx; in FindMethodIndex()
802 std::vector<dex::TypeIndex> param_type_idxs; in FindMethodIndex()
813 dex_file->GetTypeId(class_ref.TypeIndex()), *name_id, *proto_id); in FindMethodIndex()
833 *dex_file->FindClassDef(class_ref.TypeIndex()), in HasSingleInvoke()
910 TypeReference class_ref(/* dex_file */ nullptr, dex::TypeIndex()); in ProcessLine()
925 dex_resolved_classes.first->AddClass(class_ref.TypeIndex()); in ProcessLine()
[all …]
/art/runtime/jit/
Dprofile_compilation_info.h116 ClassReference(uint8_t dex_profile_idx, const dex::TypeIndex type_idx) : in ClassReference()
129 dex::TypeIndex type_index; // the type index of the class
143 void AddClass(uint16_t dex_profile_idx, const dex::TypeIndex& type_idx);
266 data->class_set.insert(ref.TypeIndex()); in AddClassForDex()
365 bool ContainsClass(const DexFile& dex_file, dex::TypeIndex type_idx) const;
388 /*out*/std::set<dex::TypeIndex>* class_set,
477 class_set(std::less<dex::TypeIndex>(), allocator->Adapter(kArenaAllocProfile)), in DexFileData()
524 ArenaSet<dex::TypeIndex> class_set;
575 dex::TypeIndex type_idx,
787 /*out*/SafeMap<uint8_t, std::vector<dex::TypeIndex>>* dex_to_classes_map);
Dprofile_compilation_info_test.cc89 dex::TypeIndex type_index, in AddClass()
145 classes.emplace_back(method->GetDexFile(), dex::TypeIndex(0)); in SaveProfilingInfoWithFakeInlineCaches()
152 classes.emplace_back(method->GetDexFile(), dex::TypeIndex(k)); in SaveProfilingInfoWithFakeInlineCaches()
160 classes.emplace_back(method->GetDexFile(), dex::TypeIndex(k)); in SaveProfilingInfoWithFakeInlineCaches()
205 dex_pc_data.AddClass(dex_profile_index, class_ref.TypeIndex()); in ConvertProfileMethodInfo()
226 dex_pc_data.AddClass(0, dex::TypeIndex(0)); in GetOfflineProfileMethodInfo()
232 dex_pc_data.AddClass(0, dex::TypeIndex(0)); in GetOfflineProfileMethodInfo()
233 dex_pc_data.AddClass(1, dex::TypeIndex(1)); in GetOfflineProfileMethodInfo()
234 dex_pc_data.AddClass(2, dex::TypeIndex(2)); in GetOfflineProfileMethodInfo()
265 it.second.AddClass(0, dex::TypeIndex(k)); in MakeMegamorphic()
[all …]
/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 ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx,
/art/tools/veridex/
Dresolver.cc83 VeriClass* VeridexResolver::GetVeriClass(dex::TypeIndex index) { in GetVeriClass()
181 dex::TypeIndex idx = interfaces->GetTypeItem(i).type_idx_; in LookupMethodIn()
228 dex::TypeIndex idx = interfaces->GetTypeItem(i).type_idx_; in LookupFieldIn()
318 if (GetVeriClass(dex::TypeIndex(i)) == nullptr) { in ResolveAll()
319 LOG(WARNING) << "Unresolved " << dex_file_.PrettyType(dex::TypeIndex(i)); in ResolveAll()
/art/runtime/
Dclass_linker-inl.h64 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType()
87 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType()
107 inline ObjPtr<mirror::Class> ClassLinker::ResolveType(dex::TypeIndex type_idx, in ResolveType()
119 inline ObjPtr<mirror::Class> ClassLinker::LookupResolvedType(dex::TypeIndex type_idx, in LookupResolvedType()
131 inline ObjPtr<mirror::Class> ClassLinker::LookupResolvedType(dex::TypeIndex type_idx, in LookupResolvedType()
144 dex::TypeIndex type_idx, in LookupResolvedType()

12345