Home | History | Annotate | Download | only in oatdump

Lines Matching refs:dex_file

49 #include "dex/dex_file-inl.h"
244 const DexFile* const dex_file = OpenDexFile(oat_dex_file, &error_msg);
245 if (dex_file == nullptr) {
249 class_def_index < dex_file->NumClassDefs();
256 WalkOatClass(oat_class, *dex_file, class_def_index);
268 const DexFile& dex_file,
270 const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index);
271 const uint8_t* class_data = dex_file.GetClassData(class_def);
277 ClassDataItemIterator it(dex_file, class_data);
282 dex_file,
292 const DexFile& dex_file,
314 info.dex_file = &dex_file;
522 const DexFile* const dex_file = OpenDexFile(oat_dex_file, &error_msg);
523 if (dex_file == nullptr) {
528 DexFileData data(*dex_file);
529 os << "Dex file data for " << dex_file->GetLocation() << "\n";
546 dex_file->NumMethodIds(),
548 [=](uint32_t index) { return dex_file->PrettyMethod(index); });
553 dex_file->NumTypeIds(),
555 [=](uint32_t index) { return dex_file->PrettyType(dex::TypeIndex(index)); });
560 dex_file->NumStringIds(),
562 [=](uint32_t index) { return dex_file->StringDataByIdx(dex::StringIndex(index)); });
575 const DexFile* dex_file = OpenDexFile(oat_dex_files_[i], &error_msg);
576 if (dex_file == nullptr) {
580 dex_files.push_back(dex_file);
668 const DexFile* const dex_file = OpenDexFile(oat_dex_file, &error_msg);
669 if (dex_file == nullptr) {
675 OatDexFile::FindClassDef(*dex_file, descriptor, ComputeModifiedUtf8Hash(descriptor));
677 uint16_t class_def_index = dex_file->GetIndexForClassDef(*class_def);
896 const DexFile* const dex_file = OpenDexFile(oat_dex_file, &error_msg);
897 if (dex_file == nullptr) {
902 offsets_.insert(reinterpret_cast<uintptr_t>(&dex_file->GetHeader()));
904 class_def_index < dex_file->NumClassDefs();
906 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
908 const uint8_t* class_data = dex_file->GetClassData(class_def);
910 ClassDataItemIterator it(*dex_file, class_data);
945 explicit DexFileData(const DexFile& dex_file)
946 : num_string_ids_(dex_file.NumStringIds()),
947 num_method_ids_(dex_file.NumMethodIds()),
948 num_field_ids_(dex_file.NumFieldIds()),
949 num_type_ids_(dex_file.NumTypeIds()),
950 num_class_defs_(dex_file.NumClassDefs()) {
952 const DexFile::ClassDef& class_def = dex_file.GetClassDef(class_def_index);
953 WalkClass(dex_file, class_def);
988 void WalkClass(const DexFile& dex_file, const DexFile::ClassDef& class_def) {
989 const uint8_t* class_data = dex_file.GetClassData(class_def);
993 ClassDataItemIterator it(dex_file, class_data);
996 WalkCodeItem(dex_file, it.GetMethodCodeItem());
1002 void WalkCodeItem(const DexFile& dex_file, const DexFile::CodeItem* code_item) {
1006 CodeItemInstructionAccessor instructions(dex_file, code_item);
1018 unique_string_ids_from_code_.insert(StringReference(&dex_file, string_index));
1024 unique_string_ids_from_code_.insert(StringReference(&dex_file, string_index));
1078 const DexFile* const dex_file = OpenDexFile(&oat_dex_file, &error_msg);
1079 if (dex_file == nullptr) {
1089 uint32_t table_size = TypeLookupTable::RawDataLength(dex_file->NumClassDefs());
1098 class_def_index < dex_file->NumClassDefs();
1100 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
1101 const char* descriptor = dex_file->GetClassDescriptor(class_def);
1118 if (!DumpOatClass(&vios, oat_class, *dex_file, class_def, &stop_analysis)) {
1131 // Backwards compatible Dex file export. If dex_file is nullptr (valid Vdex file not present) the
1133 // unquickened. Otherwise the dex_file has been fully unquickened and is expected to verify the
1137 const DexFile* dex_file) {
1148 if (dex_file == nullptr) {
1150 dex_file = OpenDexFile(&oat_dex_file, &error_msg);
1151 if (dex_file == nullptr) {
1157 reinterpret_cast<DexFile::Header*>(const_cast<uint8_t*>(dex_file->Begin()))->checksum_ =
1158 dex_file->CalculateChecksum();
1162 reinterpret_cast<DexFile::Header*>(const_cast<uint8_t*>(dex_file->Begin()))->checksum_;
1163 CHECK_EQ(orig_checksum, dex_file->CalculateChecksum());
1164 if (orig_checksum != dex_file->CalculateChecksum()) {
1173 if (dex_file->IsCompactDexFile()) {
1175 reinterpret_cast<CompactDexFile::Header*>(const_cast<uint8_t*>(dex_file->Begin()));
1227 bool success = file->WriteFully(dex_file->Begin(), fsize);
1235 success = file->WriteFully(dex_file->Begin() + shared_section_offset, shared_section_size);
1255 const OatFile::OatClass& oat_class, const DexFile& dex_file,
1259 const uint8_t* class_data = dex_file.GetClassData(class_def);
1264 ClassDataItemIterator it(dex_file, class_data);
1268 if (!DumpOatMethod(vios, class_def, class_method_index, oat_class, dex_file,
1294 const DexFile& dex_file,
1301 dex_file, code_item);
1304 std::string method_name = dex_file.GetMethodName(dex_file.GetMethodId(dex_method_idx));
1309 std::string pretty_method = dex_file.PrettyMethod(dex_method_idx, true);
1339 << StringPrintf("\t| %s\n", inst->DumpString(&dex_file).c_str());
1353 dex_method_idx, &dex_file, class_def, code_item,
1691 const DexFile* dex_file,
1700 runtime->GetClassLinker()->RegisterDexFile(*dex_file, options_.class_loader_->Get()));
1706 soa.Self(), vios, dex_method_idx, dex_file, dex_cache, *options_.class_loader_,
3031 const DexFile* const dex_file = OpenDexFile(odf, &error_msg);
3032 CHECK(dex_file != nullptr) << error_msg;
3033 class_path->push_back(dex_file);
3044 for (const DexFile* dex_file : *class_path) {
3046 *dex_file, self->DecodeJObject(class_loader)->AsClassLoader());
3247 for (const DexFile* dex_file : dex_files) {
3249 class_def_index != dex_file->NumClassDefs();
3251 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
3252 const char* descriptor = dex_file->GetClassDescriptor(class_def);