Home
last modified time | relevance | path

Searched refs:dex_ir (Results 1 – 14 of 14) sorted by relevance

/art/dexlayout/
Ddex_verify.h29 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 …]
Ddexlayout.h74 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 …]
Ddex_visualize.cc47 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 …]
Ddex_verify.cc31 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 …]
Ddex_writer.h31 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_;
Ddexlayout.cc244 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 …]
Ddex_writer.cc124 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 …]
Ddex_visualize.h32 namespace dex_ir {
36 void VisualizeDexLayout(dex_ir::Header* header,
41 void ShowDexSectionStatistics(dex_ir::Header* header, size_t dex_file_index);
Ddex_ir.cc28 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 …]
Ddex_ir_builder.h25 namespace dex_ir {
27 dex_ir::Header* DexIrBuilder(const DexFile& dex_file);
Ddexdiag.cc176 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()
DAndroid.bp21 "dex_ir.cc",
Ddex_ir_builder.cc25 namespace dex_ir { namespace
Ddex_ir.h31 namespace dex_ir {
1222 std::vector<DexFileSection> GetSortedDexFileSections(dex_ir::Header* header,