Lines Matching refs:oat_file

676 const OatFile* ClassLinker::RegisterOatFile(const OatFile* oat_file) {  in RegisterOatFile()  argument
680 CHECK_NE(oat_file, oat_files_[i]) << oat_file->GetLocation(); in RegisterOatFile()
683 VLOG(class_linker) << "Registering " << oat_file->GetLocation(); in RegisterOatFile()
684 oat_files_.push_back(oat_file); in RegisterOatFile()
685 return oat_file; in RegisterOatFile()
690 OatFile* oat_file = space->ReleaseOatFile(); in GetImageOatFile() local
691 CHECK_EQ(RegisterOatFile(oat_file), oat_file); in GetImageOatFile()
693 return *oat_file; in GetImageOatFile()
706 for (const OatFile* oat_file : oat_files_) { in FindOpenedOatDexFile() local
707 DCHECK(oat_file != nullptr); in FindOpenedOatDexFile()
710 if (oat_file->GetLocation() != oat_location) { in FindOpenedOatDexFile()
715 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, in FindOpenedOatDexFile()
735 static bool LoadMultiDexFilesFromOatFile(const OatFile* oat_file, in LoadMultiDexFilesFromOatFile() argument
741 if (oat_file == nullptr) { in LoadMultiDexFilesFromOatFile()
768 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(next_name, nullptr, false); in LoadMultiDexFilesFromOatFile()
775 oat_file->GetLocation().c_str()); in LoadMultiDexFilesFromOatFile()
799 << "dex_location=" << next_name << " oat_location=" << oat_file->GetLocation().c_str() in LoadMultiDexFilesFromOatFile()
909 const OatFile* oat_file = open_oat_file.release(); // Avoid deleting it. in OpenDexFilesFromOat() local
912 RegisterOatFile(oat_file); in OpenDexFilesFromOat()
915 return oat_file->IsExecutable(); in OpenDexFilesFromOat()
983 std::unique_ptr<OatFile> oat_file(OatFile::Open(oat_location, oat_location, nullptr, nullptr, in FindOatFileInOatLocationForDexFile() local
986 if (oat_file.get() == nullptr) { in FindOatFileInOatLocationForDexFile()
996 uint32_t actual_image_oat_checksum = oat_file->GetOatHeader().GetImageFileLocationOatChecksum(); in FindOatFileInOatLocationForDexFile()
1005 uint32_t actual_image_oat_offset = oat_file->GetOatHeader().GetImageFileLocationOatDataBegin(); in FindOatFileInOatLocationForDexFile()
1013 int32_t actual_patch_delta = oat_file->GetOatHeader().GetImagePatchDelta(); in FindOatFileInOatLocationForDexFile()
1021 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, in FindOatFileInOatLocationForDexFile()
1038 return oat_file.release(); in FindOatFileInOatLocationForDexFile()
1055 std::unique_ptr<OatFile> oat_file(OatFile::Open(oat_location, oat_location, nullptr, nullptr, in CreateOatFileForDexLocation() local
1058 if (oat_file.get() == nullptr) { in CreateOatFileForDexLocation()
1065 return oat_file.release(); in CreateOatFileForDexLocation()
1068 bool ClassLinker::VerifyOatImageChecksum(const OatFile* oat_file, in VerifyOatImageChecksum() argument
1084 return oat_file->GetOatHeader().GetImageFileLocationOatChecksum() == image_oat_checksum; in VerifyOatImageChecksum()
1087 bool ClassLinker::VerifyOatChecksums(const OatFile* oat_file, in VerifyOatChecksums() argument
1115 const OatHeader& oat_header = oat_file->GetOatHeader(); in VerifyOatChecksums()
1119 if (!oat_file->IsPic()) { in VerifyOatChecksums()
1125 oat_file->GetLocation().c_str(), in VerifyOatChecksums()
1126 oat_file->GetOatHeader().GetImageFileLocationOatChecksum(), in VerifyOatChecksums()
1127 oat_file->GetOatHeader().GetImageFileLocationOatDataBegin(), in VerifyOatChecksums()
1128 oat_file->GetOatHeader().GetImagePatchDelta(), in VerifyOatChecksums()
1134 bool ClassLinker::VerifyOatAndDexFileChecksums(const OatFile* oat_file, in VerifyOatAndDexFileChecksums() argument
1139 if (!VerifyOatChecksums(oat_file, instruction_set, error_msg)) { in VerifyOatAndDexFileChecksums()
1143 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, in VerifyOatAndDexFileChecksums()
1147 oat_file->GetLocation().c_str(), dex_location, dex_location_checksum); in VerifyOatAndDexFileChecksums()
1148 for (const OatFile::OatDexFile* oat_dex_file : oat_file->GetOatDexFiles()) { in VerifyOatAndDexFileChecksums()
1150 oat_file->GetLocation().c_str(), in VerifyOatAndDexFileChecksums()
1159 oat_file->GetLocation().c_str(), in VerifyOatAndDexFileChecksums()
1167 bool ClassLinker::VerifyOatWithDexFile(const OatFile* oat_file, in VerifyOatWithDexFile() argument
1171 CHECK(oat_file != nullptr); in VerifyOatWithDexFile()
1178 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, nullptr); in VerifyOatWithDexFile()
1181 "dex file '%s': %s", oat_file->GetLocation().c_str(), dex_location, in VerifyOatWithDexFile()
1187 bool verified = VerifyOatAndDexFileChecksums(oat_file, dex_location, *dex_location_checksum, in VerifyOatWithDexFile()
1192 dex_file.reset(oat_file->GetOatDexFile(dex_location, in VerifyOatWithDexFile()
1207 std::unique_ptr<const OatFile> oat_file(OpenOatFileFromDexLocation(dex_location_str, isa, in FindOatFileContainingDexFileFromDexLocation() local
1212 if (oat_file.get() == nullptr) { in FindOatFileContainingDexFileFromDexLocation()
1216 } else if (oat_file->IsExecutable() && in FindOatFileContainingDexFileFromDexLocation()
1217 !VerifyOatWithDexFile(oat_file.get(), dex_location, in FindOatFileContainingDexFileFromDexLocation()
1220 "'%s': %s", oat_file->GetLocation().c_str(), dex_location, in FindOatFileContainingDexFileFromDexLocation()
1223 } else if (!oat_file->IsExecutable() && in FindOatFileContainingDexFileFromDexLocation()
1225 !VerifyOatImageChecksum(oat_file.get(), isa)) { in FindOatFileContainingDexFileFromDexLocation()
1228 oat_file->GetLocation().c_str(), dex_location)); in FindOatFileContainingDexFileFromDexLocation()
1231 return oat_file.release(); in FindOatFileContainingDexFileFromDexLocation()
1238 const OatFile* oat_file = oat_files_[i]; in FindOpenedOatFileFromOatLocation() local
1239 DCHECK(oat_file != nullptr); in FindOpenedOatFileFromOatLocation()
1240 if (oat_file->GetLocation() == oat_location) { in FindOpenedOatFileFromOatLocation()
1241 return oat_file; in FindOpenedOatFileFromOatLocation()
1501 bool ClassLinker::CheckOatFile(const Runtime* runtime, const OatFile* oat_file, InstructionSet isa, in CheckOatFile() argument
1526 const OatHeader& oat_header = oat_file->GetOatHeader(); in CheckOatFile()
1538 if (!oat_file->IsPic()) { in CheckOatFile()
1568 const OatFile* oat_file = FindOpenedOatFileFromOatLocation(oat_location); in FindOatFileFromOatLocation() local
1569 if (oat_file != nullptr) { in FindOatFileFromOatLocation()
1570 return oat_file; in FindOatFileFromOatLocation()
1607 OatFile& oat_file = GetImageOatFile(space); in InitFromImage() local
1608 CHECK_EQ(oat_file.GetOatHeader().GetImageFileLocationOatChecksum(), 0U); in InitFromImage()
1609 CHECK_EQ(oat_file.GetOatHeader().GetImageFileLocationOatDataBegin(), 0U); in InitFromImage()
1610 const char* image_file_location = oat_file.GetOatHeader(). in InitFromImage()
1613 portable_resolution_trampoline_ = oat_file.GetOatHeader().GetPortableResolutionTrampoline(); in InitFromImage()
1614 quick_resolution_trampoline_ = oat_file.GetOatHeader().GetQuickResolutionTrampoline(); in InitFromImage()
1615 portable_imt_conflict_trampoline_ = oat_file.GetOatHeader().GetPortableImtConflictTrampoline(); in InitFromImage()
1616 quick_imt_conflict_trampoline_ = oat_file.GetOatHeader().GetQuickImtConflictTrampoline(); in InitFromImage()
1617 quick_generic_jni_trampoline_ = oat_file.GetOatHeader().GetQuickGenericJniTrampoline(); in InitFromImage()
1618 quick_to_interpreter_bridge_trampoline_ = oat_file.GetOatHeader().GetQuickToInterpreterBridge(); in InitFromImage()
1633 CHECK_EQ(oat_file.GetOatHeader().GetDexFileCount(), in InitFromImage()
1639 const OatFile::OatDexFile* oat_dex_file = oat_file.GetOatDexFile(dex_file_location.c_str(), in InitFromImage()
1641 CHECK(oat_dex_file != nullptr) << oat_file.GetLocation() << " " << dex_file_location; in InitFromImage()
1646 << " from within oat file " << oat_file.GetLocation() in InitFromImage()
6016 const OatFile* oat_file = oat_dex_file->GetOatFile(); in MayBeCalledWithDirectCodePointer() local
6017 return oat_file != nullptr && !oat_file->IsPic(); in MayBeCalledWithDirectCodePointer()
6022 for (const OatFile* oat_file : oat_files_) { in MayBeCalledWithDirectCodePointer() local
6023 if (!oat_file->IsPic()) { in MayBeCalledWithDirectCodePointer()