/art/libdexfile/dex/ |
D | dex_file_types.h | 63 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 …]
|
D | type_reference.h | 34 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()
|
D | dex_file_verifier.h | 81 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,
|
D | dex_cache_resolved_classes.h | 49 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_;
|
D | dex_file_exception_helpers.h | 36 dex::TypeIndex GetHandlerTypeIndex() const { in GetHandlerTypeIndex() 57 dex::TypeIndex type_idx_; // type index of the caught exception type
|
D | dex_file.h | 170 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 …]
|
D | dex_file.cc | 45 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 …]
|
D | dex_file_exception_helpers.cc | 87 handler_.type_idx_ = dex::TypeIndex(DecodeUnsignedLeb128(¤t_data_)); in Next() 94 handler_.type_idx_ = dex::TypeIndex(DexFile::kDexNoIndex16); in Next()
|
D | dex_file_verifier.cc | 169 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/ |
D | ssa_liveness_analysis_test.cc | 69 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 …]
|
D | instruction_builder.h | 100 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,
|
D | nodes_test.cc | 38 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()
|
D | load_store_analysis_test.cc | 48 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/ |
D | quick_dexcache_entrypoints.cc | 78 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/ |
D | verifier_deps.h | 70 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,
|
D | method_verifier-inl.h | 75 inline const RegType& MethodVerifier::ResolveCheckedClass(dex::TypeIndex class_idx) { in ResolveCheckedClass()
|
D | verifier_deps.cc | 117 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 …]
|
D | method_verifier.h | 210 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/ |
D | boot_image_profile.cc | 54 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()
|
D | profman.cc | 582 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/ |
D | profile_compilation_info.h | 116 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);
|
D | profile_compilation_info_test.cc | 89 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/ |
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 ObjPtr<mirror::Class> ResolveVerifyAndClinit(dex::TypeIndex type_idx,
|
/art/tools/veridex/ |
D | resolver.cc | 83 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/ |
D | class_linker-inl.h | 64 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()
|