/art/dexlayout/ |
D | dex_verify.h | 29 bool VerifyOutputDexFile(dex_ir::Header* orig_header, 30 dex_ir::Header* output_header, 37 bool VerifyId(dex_ir::StringId* orig, dex_ir::StringId* output, std::string* error_msg); 38 bool VerifyId(dex_ir::TypeId* orig, dex_ir::TypeId* output, std::string* error_msg); 39 bool VerifyId(dex_ir::ProtoId* orig, dex_ir::ProtoId* output, std::string* error_msg); 40 bool VerifyId(dex_ir::FieldId* orig, dex_ir::FieldId* output, std::string* error_msg); 41 bool VerifyId(dex_ir::MethodId* orig, dex_ir::MethodId* output, std::string* error_msg); 43 bool VerifyClassDefs(std::vector<std::unique_ptr<dex_ir::ClassDef>>& orig, 44 std::vector<std::unique_ptr<dex_ir::ClassDef>>& output, 46 bool VerifyClassDef(dex_ir::ClassDef* orig, dex_ir::ClassDef* output, std::string* error_msg); [all …]
|
D | dexlayout.h | 74 dex_ir::Header* 81 dex_ir::Header* GetHeader() const { return header_; } in GetHeader() 82 void SetHeader(dex_ir::Header* header) { header_ = header; } in SetHeader() 87 void DumpAnnotationSetItem(dex_ir::AnnotationSetItem* set_item); 88 void DumpBytecodes(uint32_t idx, const dex_ir::CodeItem* code, uint32_t code_offset); 89 void DumpCatches(const dex_ir::CodeItem* code); 93 void DumpCode(uint32_t idx, const dex_ir::CodeItem* code, uint32_t code_offset); 94 void DumpEncodedAnnotation(dex_ir::EncodedAnnotation* annotation); 95 void DumpEncodedValue(const dex_ir::EncodedValue* data); 98 void DumpInstruction(const dex_ir::CodeItem* code, [all …]
|
D | dex_visualize.cc | 47 explicit Dumper(dex_ir::Header* header) in Dumper() 50 dex_ir::GetSortedDexFileSections(header, dex_ir::SortDirection::kSortDescending)) { } in Dumper() 66 for (const dex_ir::DexFileSection& s : sorted_sections_) { in OpenAndPrintHeader() 84 for (const dex_ir::DexFileSection& file_section : sorted_sections_) { in GetColor() 105 void DumpAddressRange(const dex_ir::Item* item, int class_index) { in DumpAddressRange() 111 void DumpStringData(const dex_ir::StringData* string_data, int class_index) { in DumpStringData() 115 void DumpStringId(const dex_ir::StringId* string_id, int class_index) { in DumpStringId() 123 void DumpTypeId(const dex_ir::TypeId* type_id, int class_index) { in DumpTypeId() 128 void DumpFieldId(const dex_ir::FieldId* field_id, int class_index) { in DumpFieldId() 138 void DumpFieldItem(const dex_ir::FieldItem* field, int class_index) { in DumpFieldItem() [all …]
|
D | dex_verify.cc | 31 bool VerifyOutputDexFile(dex_ir::Header* orig_header, in VerifyOutputDexFile() 32 dex_ir::Header* output_header, in VerifyOutputDexFile() 34 dex_ir::Collections& orig = orig_header->GetCollections(); in VerifyOutputDexFile() 35 dex_ir::Collections& output = output_header->GetCollections(); in VerifyOutputDexFile() 69 bool VerifyId(dex_ir::StringId* orig, dex_ir::StringId* output, std::string* error_msg) { in VerifyId() 81 bool VerifyId(dex_ir::TypeId* orig, dex_ir::TypeId* output, std::string* error_msg) { in VerifyId() 93 bool VerifyId(dex_ir::ProtoId* orig, dex_ir::ProtoId* output, std::string* error_msg) { in VerifyId() 118 bool VerifyId(dex_ir::FieldId* orig, dex_ir::FieldId* output, std::string* error_msg) { in VerifyId() 147 bool VerifyId(dex_ir::MethodId* orig, dex_ir::MethodId* output, std::string* error_msg) { in VerifyId() 177 bool operator()(dex_ir::ClassDef* lhs, dex_ir::ClassDef* rhs) const { in operator ()() [all …]
|
D | dex_writer.h | 31 DexWriter(dex_ir::Header* header, MemMap* mem_map) : header_(header), mem_map_(mem_map) { } in DexWriter() 33 static void Output(dex_ir::Header* header, MemMap* mem_map); 41 size_t WriteEncodedValue(dex_ir::EncodedValue* encoded_value, size_t offset); 43 size_t WriteEncodedArray(dex_ir::EncodedValueVector* values, size_t offset); 44 size_t WriteEncodedAnnotation(dex_ir::EncodedAnnotation* annotation, size_t offset); 45 size_t WriteEncodedFields(dex_ir::FieldItemVector* fields, size_t offset); 46 size_t WriteEncodedMethods(dex_ir::MethodItemVector* methods, size_t offset); 67 dex_ir::Header* const header_;
|
D | dexlayout.cc | 244 static std::string GetSignatureForProtoId(const dex_ir::ProtoId* proto) { in GetSignatureForProtoId() 250 const dex_ir::TypeList* type_list = proto->Parameters(); in GetSignatureForProtoId() 252 for (const dex_ir::TypeId* type_id : *type_list->GetTypeList()) { in GetSignatureForProtoId() 362 static std::unique_ptr<char[]> IndexString(dex_ir::Header* header, in IndexString() 433 dex_ir::MethodId* method_id = header->GetCollections().GetMethodId(index); in IndexString() 445 dex_ir::FieldId* field_id = header->GetCollections().GetFieldId(index); in IndexString() 466 dex_ir::MethodId* method_id = header->GetCollections().GetMethodId(index); in IndexString() 473 dex_ir::ProtoId* proto_id = header->GetCollections().GetProtoId(secondary_index); in IndexString() 501 void DexLayout::DumpEncodedAnnotation(dex_ir::EncodedAnnotation* annotation) { in DumpEncodedAnnotation() 514 void DexLayout::DumpEncodedValue(const dex_ir::EncodedValue* data) { in DumpEncodedValue() [all …]
|
D | dex_writer.cc | 124 size_t DexWriter::WriteEncodedValue(dex_ir::EncodedValue* encoded_value, size_t offset) { in WriteEncodedValue() 198 size_t DexWriter::WriteEncodedArray(dex_ir::EncodedValueVector* values, size_t offset) { in WriteEncodedArray() 201 for (std::unique_ptr<dex_ir::EncodedValue>& value : *values) { in WriteEncodedArray() 207 size_t DexWriter::WriteEncodedAnnotation(dex_ir::EncodedAnnotation* annotation, size_t offset) { in WriteEncodedAnnotation() 211 for (std::unique_ptr<dex_ir::AnnotationElement>& annotation_element : in WriteEncodedAnnotation() 219 size_t DexWriter::WriteEncodedFields(dex_ir::FieldItemVector* fields, size_t offset) { in WriteEncodedFields() 222 for (std::unique_ptr<dex_ir::FieldItem>& field : *fields) { in WriteEncodedFields() 231 size_t DexWriter::WriteEncodedMethods(dex_ir::MethodItemVector* methods, size_t offset) { in WriteEncodedMethods() 234 for (std::unique_ptr<dex_ir::MethodItem>& method : *methods) { in WriteEncodedMethods() 247 for (std::unique_ptr<dex_ir::StringId>& string_id : header_->GetCollections().StringIds()) { in WriteStrings() [all …]
|
D | dex_visualize.h | 32 namespace dex_ir { 36 void VisualizeDexLayout(dex_ir::Header* header, 41 void ShowDexSectionStatistics(dex_ir::Header* header, size_t dex_file_index);
|
D | dex_ir.cc | 28 namespace dex_ir { namespace 835 static uint32_t HeaderOffset(const dex_ir::Collections& collections ATTRIBUTE_UNUSED) { in HeaderOffset() 839 static uint32_t HeaderSize(const dex_ir::Collections& collections ATTRIBUTE_UNUSED) { in HeaderSize() 850 std::function<uint32_t(const dex_ir::Collections&)> size_fn; 852 std::function<uint32_t(const dex_ir::Collections&)> offset_fn; 864 &dex_ir::Collections::StringIdsSize, 865 &dex_ir::Collections::StringIdsOffset 869 &dex_ir::Collections::TypeIdsSize, 870 &dex_ir::Collections::TypeIdsOffset 874 &dex_ir::Collections::ProtoIdsSize, [all …]
|
D | dex_ir_builder.h | 25 namespace dex_ir { 27 dex_ir::Header* DexIrBuilder(const DexFile& dex_file);
|
D | dexdiag.cc | 176 const std::vector<dex_ir::DexFileSection>& sections) { in FindSectionTypeForPage() 196 const std::vector<dex_ir::DexFileSection>& sections, in ProcessPageMap() 223 const std::vector<dex_ir::DexFileSection>& sections, in DisplayDexStatistics() 239 const dex_ir::DexFileSection& section = sections[i - 1]; in DisplayDexStatistics() 288 std::vector<dex_ir::DexFileSection> sections; in ProcessOneDexMapping() 290 std::unique_ptr<dex_ir::Header> header(dex_ir::DexIrBuilder(*dex_file)); in ProcessOneDexMapping() 291 sections = dex_ir::GetSortedDexFileSections(header.get(), in ProcessOneDexMapping() 292 dex_ir::SortDirection::kSortDescending); in ProcessOneDexMapping()
|
D | Android.bp | 21 "dex_ir.cc",
|
D | dex_ir_builder.cc | 25 namespace dex_ir { namespace
|
D | dex_ir.h | 31 namespace dex_ir { 1222 std::vector<DexFileSection> GetSortedDexFileSections(dex_ir::Header* header,
|