Home | History | Annotate | Download | only in linker

Lines Matching refs:dex_file

39 #include "dex/dex_file-inl.h"
150 explicit DexFileSource(const uint8_t* dex_file)
151 : type_(kRawData), source_(dex_file) {
771 virtual bool StartClass(const DexFile* dex_file, size_t class_def_index) {
774 dex_file_ = dex_file;
813 bool StartClass(const DexFile* dex_file, size_t class_def_index) OVERRIDE {
814 DexMethodVisitor::StartClass(dex_file, class_def_index);
858 target_method.dex_file->NumMethodIds(),
864 target_type.dex_file->NumTypeIds(),
870 target_string.dex_file->NumStringIds(),
890 DCHECK_EQ(dex_file_, ref.dex_file);
892 auto refs_it = references->find(ref.dex_file);
895 ref.dex_file,
923 bool StartClass(const DexFile* dex_file, size_t class_def_index) OVERRIDE {
924 DexMethodVisitor::StartClass(dex_file, class_def_index);
1292 << method_ref.dex_file->PrettyMethod(method_ref.index)
1352 info.dex_file = method_ref.dex_file;
1544 bool StartClass(const DexFile* dex_file, size_t class_def_index) OVERRIDE
1546 OatDexMethodVisitor::StartClass(dex_file, class_def_index);
1551 ObjPtr<mirror::DexCache> dex_cache = class_linker_->FindDexCache(Thread::Current(), *dex_file);
1552 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
1648 bool IsInOatFile(const DexFile* dex_file) {
1649 return ContainsElement(*dex_files_, dex_file);
1703 void UpdateDexFileAndDexCache(const DexFile* dex_file)
1705 dex_file_ = dex_file;
1712 if (dex_cache_ == nullptr || dex_cache_->GetDexFile() != dex_file) {
1713 dex_cache_ = class_linker_->FindDexCache(Thread::Current(), *dex_file);
1731 UpdateDexFileAndDexCache(method_ref.dex_file);
1929 (dex_file_ == ref.dex_file) ? dex_cache_ : class_linker_->FindDexCache(
1930 Thread::Current(), *ref.dex_file);
2206 for (const DexFile* dex_file : *dex_files_) {
2207 const size_t class_def_count = dex_file->NumClassDefs();
2209 if (UNLIKELY(!visitor->StartClass(dex_file, class_def_index))) {
2213 const DexFile::ClassDef& class_def = dex_file->GetClassDef(class_def_index);
2214 const uint8_t* class_data = dex_file->GetClassData(class_def);
2216 ClassDataItemIterator it(*dex_file, class_data);
2354 const DexFile* dex_file = (*dex_files_)[i];
2355 auto method_it = bss_method_entry_references_.find(dex_file);
2361 dex_file->NumMethodIds(),
2365 return bss_method_entries_.Get({dex_file, index});
2369 auto type_it = bss_type_entry_references_.find(dex_file);
2375 dex_file->NumTypeIds(),
2379 return bss_type_entries_.Get({dex_file, dex::TypeIndex(index)});
2383 auto string_it = bss_string_entry_references_.find(dex_file);
2389 dex_file->NumStringIds(),
2393 return bss_string_entries_.Get({dex_file, dex::StringIndex(index)});
2644 for (const DexFile* dex_file : dex_files) {
2646 &quicken_info_offset_indices_.Put(dex_file, std::vector<uint32_t>())->second;
2647 for (uint32_t method_idx = 0; method_idx < dex_file->NumMethodIds(); ++method_idx) {
2649 MethodReference method_ref(dex_file, method_idx);
2705 for (const DexFile* dex_file : dex_files) {
2706 auto it = quicken_info_offset_indices_->find(dex_file);
2708 << dex_file->GetLocation();
2724 PLOG(ERROR) << "Failed to write quickening offset table for " << dex_file->GetLocation()
3173 const DexFile* dex_file = (*dex_files_)[i];
3175 auto method_it = bss_method_entry_references_.find(dex_file);
3182 dex_file->NumMethodIds(),
3186 return bss_method_entries_.Get({dex_file, index});
3197 auto type_it = bss_type_entry_references_.find(dex_file);
3204 dex_file->NumTypeIds(),
3208 return bss_type_entries_.Get({dex_file, dex::TypeIndex(index)});
3219 auto string_it = bss_string_entry_references_.find(dex_file);
3226 dex_file->NumStringIds(),
3230 return bss_string_entries_.Get({dex_file, dex::StringIndex(index)});
3579 std::unique_ptr<const DexFile> dex_file;
3589 dex_file = dex_file_loader.Open(location,
3602 dex_file = dex_file_loader.OpenDex(dup_fd, location,
3618 dex_file = dex_file_loader.Open(raw_dex_file,
3627 if (dex_file == nullptr) {
3636 if (dex_layout.ProcessDexFile(location.c_str(), dex_file.get(), 0, &dex_container_, &error_msg)) {
3647 dex_src = dex_file->Begin();
3656 CHECK_EQ(oat_dex_file->dex_file_location_checksum_, dex_file->GetLocationChecksum());
3663 ZipEntry* dex_file) {
3669 if (!dex_file->ExtractToFile(*file, &error_msg)) {
3750 File* dex_file) {
3754 off_t input_offset = lseek(dex_file->Fd(), 0, SEEK_SET);
3763 if (!file->Copy(dex_file, 0, oat_dex_file->dex_file_size_)) {
3800 const uint8_t* dex_file,
3804 DCHECK(dex_file != nullptr);
3805 DCHECK(ValidateDexFileHeader(dex_file, oat_dex_file->GetLocation()));
3806 const UnalignedDexFileHeader* header = AsUnalignedDexFileHeader(dex_file);
3811 if (!out->WriteFully(dex_file, header->file_size_)) {
3969 const DexFile& dex_file = *opened_dex_files[i];
3972 TypeLookupTable::Create(dex_file, /* storage */ nullptr);
3975 dex_file.SetOatDexFile(type_lookup_table_oat_dex_files_.back().get());
4379 const uint8_t* OatWriter::LookupBootImageInternTableSlot(const DexFile& dex_file,
4383 const char* utf8_data = dex_file.StringDataAndUtf16LengthByIdx(string_idx, &utf16_length);
4399 const uint8_t* OatWriter::LookupBootImageClassTableSlot(const DexFile& dex_file,
4402 const char* descriptor = dex_file.StringByTypeIdx(type_idx);
4421 const DexFile* dex_file = (*dex_files_)[i];
4425 debug_info.dex_files.emplace(dex_file_offset, dex_file);