/art/compiler/utils/ |
D | atomic_dex_ref_map.h | 27 class DexFile; variable 54 void AddDexFile(const DexFile* dex_file); 55 void AddDexFiles(const std::vector<const DexFile*>& dex_files); 58 std::vector<const DexFile*> GetDexFiles() const; 60 bool HaveDexFile(const DexFile* dex_file) const { in HaveDexFile() 73 using DexFileArrays = SafeMap<const DexFile*, ElementArray>; 75 const ElementArray* GetArray(const DexFile* dex_file) const; 76 ElementArray* GetArray(const DexFile* dex_file); 78 static size_t NumberOfDexIndices(const DexFile* dex_file);
|
/art/runtime/verifier/ |
D | verifier_deps.h | 37 class DexFile; variable 61 explicit VerifierDeps(const std::vector<const DexFile*>& dex_files, bool output_only = true); 64 bool ParseStoredData(const std::vector<const DexFile*>& dex_files, ArrayRef<const uint8_t> data); 68 void MergeWith(std::unique_ptr<VerifierDeps> other, const std::vector<const DexFile*>& dex_files); 73 void RecordClassVerified(const DexFile& dex_file, const dex::ClassDef& class_def) 77 static void MaybeRecordVerificationStatus(const DexFile& dex_file, 84 static void MaybeRecordClassRedefinition(const DexFile& dex_file, const dex::ClassDef& class_def) 89 static void MaybeRecordClassResolution(const DexFile& dex_file, 97 static void MaybeRecordFieldResolution(const DexFile& dex_file, 105 static void MaybeRecordMethodResolution(const DexFile& dex_file, [all …]
|
/art/libdexfile/dex/ |
D | dex_file_verifier.cc | 57 constexpr uint32_t MapTypeToBitMask(DexFile::MapItemType map_item_type) { in MapTypeToBitMask() 59 case DexFile::kDexTypeHeaderItem: return 1 << 0; in MapTypeToBitMask() 60 case DexFile::kDexTypeStringIdItem: return 1 << 1; in MapTypeToBitMask() 61 case DexFile::kDexTypeTypeIdItem: return 1 << 2; in MapTypeToBitMask() 62 case DexFile::kDexTypeProtoIdItem: return 1 << 3; in MapTypeToBitMask() 63 case DexFile::kDexTypeFieldIdItem: return 1 << 4; in MapTypeToBitMask() 64 case DexFile::kDexTypeMethodIdItem: return 1 << 5; in MapTypeToBitMask() 65 case DexFile::kDexTypeClassDefItem: return 1 << 6; in MapTypeToBitMask() 66 case DexFile::kDexTypeCallSiteIdItem: return 1 << 7; in MapTypeToBitMask() 67 case DexFile::kDexTypeMethodHandleItem: return 1 << 8; in MapTypeToBitMask() [all …]
|
D | dex_file_verifier_test.cc | 43 static void MakeDexVersion37(DexFile* dex_file) { in MakeDexVersion37() 44 size_t offset = OFFSETOF_MEMBER(DexFile::Header, magic_) + 6; in MakeDexVersion37() 50 DexFile::Header* header = reinterpret_cast<DexFile::Header*>(dex_file); in FixUpChecksum() 53 const uint32_t non_sum = sizeof(DexFile::Header::magic_) + sizeof(DexFile::Header::checksum_); in FixUpChecksum() 61 DexFile* GetDexFile(const uint8_t* dex_bytes, size_t length) { in GetDexFile() 67 const std::function<void(DexFile*)>& f, in VerifyModification() 73 std::unique_ptr<DexFile> dex_file(GetDexFile(dex_bytes.get(), length)); in VerifyModification() 96 static std::unique_ptr<const DexFile> OpenDexFileBase64(const char* base64, in OpenDexFileBase64() 106 std::vector<std::unique_ptr<const DexFile>> tmp; in OpenDexFileBase64() 119 std::unique_ptr<const DexFile> dex_file = std::move(tmp[0]); in OpenDexFileBase64() [all …]
|
D | art_dex_file_loader.h | 30 class DexFile; variable 57 std::unique_ptr<const DexFile> Open( 69 std::unique_ptr<const DexFile> Open(const std::string& location, 82 std::vector<std::unique_ptr<const DexFile>>* dex_files) const; 88 std::vector<std::unique_ptr<const DexFile>>* dex_files) const; 91 std::unique_ptr<const DexFile> OpenDex(int fd, 104 std::vector<std::unique_ptr<const DexFile>>* dex_files) const; 113 std::vector<std::unique_ptr<const DexFile>>* dex_files) const; 115 std::unique_ptr<const DexFile> OpenFile(int fd, 128 std::vector<std::unique_ptr<const DexFile>>* dex_files) const; [all …]
|
D | dex_file-inl.h | 42 inline int32_t DexFile::GetStringLength(const dex::StringId& string_id) const { in GetStringLength() 47 inline const char* DexFile::GetStringDataAndUtf16Length(const dex::StringId& string_id, in GetStringDataAndUtf16Length() 55 inline const char* DexFile::GetStringData(const dex::StringId& string_id) const { in GetStringData() 60 inline const char* DexFile::StringDataAndUtf16LengthByIdx(dex::StringIndex idx, in StringDataAndUtf16LengthByIdx() 70 inline const char* DexFile::StringDataByIdx(dex::StringIndex idx) const { in StringDataByIdx() 75 inline std::string_view DexFile::StringViewByIdx(dex::StringIndex idx) const { in StringViewByIdx() 81 inline const char* DexFile::StringByTypeIdx(dex::TypeIndex idx, uint32_t* unicode_length) const { in StringByTypeIdx() 89 inline const char* DexFile::StringByTypeIdx(dex::TypeIndex idx) const { in StringByTypeIdx() 97 inline const char* DexFile::GetTypeDescriptor(const dex::TypeId& type_id) const { in GetTypeDescriptor() 101 inline const char* DexFile::GetFieldTypeDescriptor(const dex::FieldId& field_id) const { in GetFieldTypeDescriptor() [all …]
|
D | dex_file.cc | 64 uint32_t DexFile::CalculateChecksum() const { in CalculateChecksum() 68 uint32_t DexFile::CalculateChecksum(const uint8_t* begin, size_t size) { in CalculateChecksum() 69 const uint32_t non_sum_bytes = OFFSETOF_MEMBER(DexFile::Header, signature_); in CalculateChecksum() 73 uint32_t DexFile::ChecksumMemoryRange(const uint8_t* begin, size_t size) { in ChecksumMemoryRange() 77 int DexFile::GetPermissions() const { in GetPermissions() 82 bool DexFile::IsReadOnly() const { in IsReadOnly() 87 bool DexFile::EnableWrite() const { in EnableWrite() 92 bool DexFile::DisableWrite() const { in DisableWrite() 97 DexFile::DexFile(const uint8_t* base, in DexFile() function in art::DexFile 138 DexFile::~DexFile() { in ~DexFile() [all …]
|
D | dex_file_loader_test.cc | 212 std::vector<std::unique_ptr<const DexFile>>* dex_files, in OpenDexFilesBase64() 219 std::vector<std::unique_ptr<const DexFile>> tmp; in OpenDexFilesBase64() 232 static std::unique_ptr<const DexFile> OpenDexFileBase64(const char* base64, in OpenDexFileBase64() 238 std::vector<std::unique_ptr<const DexFile>> dex_files; in OpenDexFileBase64() 246 static std::unique_ptr<const DexFile> OpenDexFileInMemoryBase64(const char* base64, in OpenDexFileInMemoryBase64() 255 std::unique_ptr<const DexFile> dex_file(dex_file_loader.Open(dex_bytes->data(), in OpenDexFileInMemoryBase64() 271 static void ValidateDexFileHeader(std::unique_ptr<const DexFile> dex_file) { in ValidateDexFileHeader() 276 static const uint8_t kExpectedSha1[DexFile::kSha1DigestSize] = { in ValidateDexFileHeader() 282 const DexFile::Header& header = dex_file->GetHeader(); in ValidateDexFileHeader() 310 std::unique_ptr<const DexFile> raw(OpenDexFileBase64(kRawDex, kLocationString, &dex_bytes)); in TEST_F() [all …]
|
D | signature.h | 33 class DexFile; variable 55 Signature(const DexFile* dex, const dex::ProtoId& proto) : dex_file_(dex), proto_id_(&proto) { in Signature() 60 friend class DexFile; variable 62 const DexFile* const dex_file_ = nullptr;
|
/art/dexlayout/ |
D | dex_ir.cc | 56 DexFile::kDexTypeHeaderItem, 61 DexFile::kDexTypeStringIdItem, 66 DexFile::kDexTypeTypeIdItem, 71 DexFile::kDexTypeProtoIdItem, 76 DexFile::kDexTypeFieldIdItem, 81 DexFile::kDexTypeMethodIdItem, 86 DexFile::kDexTypeClassDefItem, 91 DexFile::kDexTypeCallSiteIdItem, 96 DexFile::kDexTypeMethodHandleItem, 101 DexFile::kDexTypeStringDataItem, [all …]
|
D | dex_ir_builder.cc | 57 case DexFile::DBG_END_SEQUENCE: in GetDebugInfoStreamSize() 59 case DexFile::DBG_ADVANCE_PC: in GetDebugInfoStreamSize() 62 case DexFile::DBG_ADVANCE_LINE: in GetDebugInfoStreamSize() 65 case DexFile::DBG_START_LOCAL: in GetDebugInfoStreamSize() 70 case DexFile::DBG_START_LOCAL_EXTENDED: in GetDebugInfoStreamSize() 76 case DexFile::DBG_END_LOCAL: in GetDebugInfoStreamSize() 77 case DexFile::DBG_RESTART_LOCAL: in GetDebugInfoStreamSize() 80 case DexFile::DBG_SET_PROLOGUE_END: in GetDebugInfoStreamSize() 81 case DexFile::DBG_SET_EPILOGUE_BEGIN: in GetDebugInfoStreamSize() 83 case DexFile::DBG_SET_FILE: { in GetDebugInfoStreamSize() [all …]
|
D | dex_visualize.cc | 174 const DexFile* dex_file, in DumpMethodItem() 216 { DexFile::kDexTypeHeaderItem, 1 }, 217 { DexFile::kDexTypeStringIdItem, 2 }, 218 { DexFile::kDexTypeTypeIdItem, 3 }, 219 { DexFile::kDexTypeProtoIdItem, 4 }, 220 { DexFile::kDexTypeFieldIdItem, 5 }, 221 { DexFile::kDexTypeMethodIdItem, 6 }, 222 { DexFile::kDexTypeClassDefItem, 7 }, 223 { DexFile::kDexTypeTypeList, 8 }, 224 { DexFile::kDexTypeAnnotationSetRefList, 9 }, [all …]
|
D | dex_writer.cc | 123 case DexFile::kDexAnnotationByte: in WriteEncodedValue() 126 case DexFile::kDexAnnotationShort: in WriteEncodedValue() 129 case DexFile::kDexAnnotationChar: in WriteEncodedValue() 132 case DexFile::kDexAnnotationInt: in WriteEncodedValue() 135 case DexFile::kDexAnnotationLong: in WriteEncodedValue() 138 case DexFile::kDexAnnotationFloat: in WriteEncodedValue() 142 case DexFile::kDexAnnotationDouble: in WriteEncodedValue() 146 case DexFile::kDexAnnotationMethodType: in WriteEncodedValue() 149 case DexFile::kDexAnnotationMethodHandle: in WriteEncodedValue() 152 case DexFile::kDexAnnotationString: in WriteEncodedValue() [all …]
|
/art/runtime/dex/ |
D | dex_file_annotations.cc | 58 struct DexFile::AnnotationValue { 85 const DexFile& GetDexFile() const REQUIRES_SHARED(Locks::mutator_lock_) { in GetDexFile() 120 const DexFile& dex_file, in ClassData() 131 const DexFile& dex_file_; 143 if (expected == DexFile::kDexVisibilityRuntime) { in IsVisibilityCompatible() 145 return actual == DexFile::kDexVisibilityRuntime || actual == DexFile::kDexVisibilityBuild; in IsVisibilityCompatible() 151 static const AnnotationSetItem* FindAnnotationSetForField(const DexFile& dex_file, in FindAnnotationSetForField() 183 const AnnotationItem* SearchAnnotationSet(const DexFile& dex_file, in SearchAnnotationSet() 205 bool SkipAnnotationValue(const DexFile& dex_file, const uint8_t** annotation_ptr) in SkipAnnotationValue() 209 uint8_t value_type = header_byte & DexFile::kDexAnnotationValueTypeMask; in SkipAnnotationValue() [all …]
|
/art/runtime/ |
D | dex_reference_collection.h | 27 class DexFile; variable 36 using MapAllocator = Allocator<std::pair<const DexFile*, IndexVector>>; 38 const DexFile*, 40 std::less<const DexFile*>, 41 Allocator<std::pair<const DexFile* const, IndexVector>>>; 48 void AddReference(const DexFile* dex, IndexType index) { in AddReference() 66 const DexFile* current_dex_file_ = nullptr; 70 ALWAYS_INLINE IndexVector* GetOrInsertVector(const DexFile* dex) { in GetOrInsertVector()
|
/art/libdexfile/external/ |
D | dex_file_supp_test.cc | 110 size_t size = sizeof(art::DexFile::Header) - 1; in TEST() 112 EXPECT_EQ(DexFile::OpenFromMemory(kDexData, &size, "", &error_msg), nullptr); in TEST() 113 EXPECT_EQ(size, sizeof(art::DexFile::Header)); in TEST() 118 size_t size = sizeof(art::DexFile::Header); in TEST() 120 EXPECT_EQ(DexFile::OpenFromMemory(kDexData, &size, "", &error_msg), nullptr); in TEST() 125 static std::unique_ptr<DexFile> GetTestDexData() { in GetTestDexData() 128 std::unique_ptr<DexFile> dex_file = DexFile::OpenFromMemory(kDexData, &size, "", &error_msg); in GetTestDexData() 140 ASSERT_EQ(sizeof(art::DexFile::Header) - 1, in TEST() 142 TEMP_FAILURE_RETRY(write(tf.fd, kDexData, sizeof(art::DexFile::Header) - 1)))); in TEST() 145 EXPECT_EQ(DexFile::OpenFromFd(tf.fd, 0, tf.path, &error_msg), nullptr); in TEST() [all …]
|
D | dex_file_supp.cc | 35 MACRO(DexFile, ExtDexFileOpenFromMemory) \ 36 MACRO(DexFile, ExtDexFileOpenFromFd) \ 37 MACRO(DexFile, ExtDexFileGetMethodInfoForOffset) \ 38 MACRO(DexFile, ExtDexFileGetAllMethodInfos) \ 39 MACRO(DexFile, ExtDexFileFree) 106 DexFile::~DexFile() { g_ExtDexFileFree(ext_dex_file_); } in ~DexFile() 108 MethodInfo DexFile::AbsorbMethodInfo(const ExtDexFileMethodInfo& ext_method_info) { in AbsorbMethodInfo() 112 void DexFile::AddMethodInfoCallback(const ExtDexFileMethodInfo* ext_method_info, void* ctx) { in AddMethodInfoCallback()
|
/art/libdexfile/external/include/art_api/ |
D | dex_file_support.h | 85 friend class DexFile; variable 126 class DexFile { 128 DexFile(DexFile&& dex_file) noexcept { in DexFile() function 133 explicit DexFile(std::unique_ptr<DexFile>& dex_file) noexcept { in DexFile() function 138 virtual ~DexFile(); 149 static std::unique_ptr<DexFile> OpenFromMemory(const void* addr, in OpenFromMemory() 161 return std::unique_ptr<DexFile>(new DexFile(ext_dex_file)); in OpenFromMemory() 172 static std::unique_ptr<DexFile> OpenFromFd(int fd, in OpenFromFd() 184 return std::unique_ptr<DexFile>(new DexFile(ext_dex_file)); in OpenFromFd() 220 explicit DexFile(ExtDexFile* ext_dex_file) : ext_dex_file_(ext_dex_file) {} in DexFile() function [all …]
|
/art/libprofile/profile/ |
D | profile_boot_info.h | 26 class DexFile; variable 41 void Add(const DexFile* dex_file, uint32_t method_index); 48 bool Load(int fd, const std::vector<const DexFile*>& dex_files); 50 const std::vector<const DexFile*>& GetDexFiles() const { in GetDexFiles() 62 std::vector<const DexFile*> dex_files_;
|
D | profile_boot_info_test.cc | 38 std::vector<const DexFile*> dex_files; in TEST_F() 48 std::unique_ptr<const DexFile> dex(OpenTestDexFile("ManyMethods")); in TEST_F() 49 std::vector<const DexFile*> dex_files = { dex.get() }; in TEST_F() 67 std::vector<std::unique_ptr<const DexFile>> dex_files = OpenTestDexFiles("MultiDex"); in TEST_F() 68 std::vector<const DexFile*> dex_files2; in TEST_F() 69 for (const std::unique_ptr<const DexFile>& file : dex_files) { in TEST_F() 96 std::unique_ptr<const DexFile> dex(OpenTestDexFile("ManyMethods")); in TEST_F() 105 std::vector<std::unique_ptr<const DexFile>> dex_files = OpenTestDexFiles("MultiDex"); in TEST_F() 106 std::vector<const DexFile*> dex_files2; in TEST_F() 107 for (const std::unique_ptr<const DexFile>& file : dex_files) { in TEST_F()
|
/art/dex2oat/driver/ |
D | compiler_driver.h | 66 class DexFile; variable 99 void SetClasspathDexFiles(const std::vector<const DexFile*>& dex_files); 107 const std::vector<const DexFile*>& dex_files, 113 const std::vector<const DexFile*>& dex_files, 206 bool ShouldVerifyClassBasedOnProfile(const DexFile& dex_file, uint16_t class_idx) const; 240 const std::vector<const DexFile*>& dex_files, 244 const DexFile& dex_file, 245 const std::vector<const DexFile*>& dex_files, 254 const std::vector<const DexFile*>& dex_files, 259 const std::vector<const DexFile*>& dex_files, [all …]
|
/art/openjdkjvmti/ |
D | fixed_up_dex_file.cc | 49 static void RecomputeDexChecksum(art::DexFile* dex_file) { in RecomputeDexChecksum() 50 reinterpret_cast<art::DexFile::Header*>(const_cast<uint8_t*>(dex_file->Begin()))->checksum_ = in RecomputeDexChecksum() 54 static const art::VdexFile* GetVdex(const art::DexFile& original_dex_file) { in GetVdex() 66 static void DoDexUnquicken(const art::DexFile& new_dex_file, in DoDexUnquicken() 67 const art::DexFile& original_dex_file) { in DoDexUnquicken() 76 static void DCheckVerifyDexFile(const art::DexFile& dex) { in DCheckVerifyDexFile() 90 std::unique_ptr<FixedUpDexFile> FixedUpDexFile::Create(const art::DexFile& original, in Create() 94 std::unique_ptr<const art::DexFile> new_dex_file; in Create() 155 RecomputeDexChecksum(const_cast<art::DexFile*>(new_dex_file.get())); in Create()
|
D | fixed_up_dex_file.h | 52 static std::unique_ptr<FixedUpDexFile> Create(const art::DexFile& original, 55 const art::DexFile& GetDexFile() { in GetDexFile() 68 explicit FixedUpDexFile(std::unique_ptr<const art::DexFile> fixed_up_dex_file, in FixedUpDexFile() 74 std::unique_ptr<const art::DexFile> dex_file_;
|
/art/libartbase/base/ |
D | common_art_test.h | 44 class DexFile; variable 109 static std::unique_ptr<const DexFile> CreateFakeDex( in CreateFakeDex() 125 std::unique_ptr<const DexFile> dex(dex_file_loader.Open(storage->data(), in CreateFakeDex() 137 std::unique_ptr<const DexFile>& Dex() { in Dex() 143 std::unique_ptr<const DexFile> dex; 150 const DexFile* AddFakeDex( in AddFakeDex() 202 std::vector<std::unique_ptr<const DexFile>> dex_files; in MutateDexFile() 212 const std::unique_ptr<const DexFile>& dex = dex_files[0]; in MutateDexFile() 214 DexFile* dex_file = const_cast<DexFile*>(dex.get()); in MutateDexFile() 216 const_cast<DexFile::Header&>(dex_file->GetHeader()).checksum_ = dex_file->CalculateChecksum(); in MutateDexFile() [all …]
|
/art/dex2oat/dex/ |
D | dex_to_dex_compiler.h | 36 class DexFile; variable 63 const DexFile& dex_file, 84 void SetDexFiles(const std::vector<const DexFile*>& dex_files); 98 BitVector* GetOrAddBitVectorForDex(const DexFile* dex_file) REQUIRES(lock_); 103 const DexFile* active_dex_file_ = nullptr; 109 std::unordered_map<const DexFile*, BitVector> should_quicken_;
|