Lines Matching refs:oat_file
59 const OatFile* OatFileManager::RegisterOatFile(std::unique_ptr<const OatFile> oat_file) { in RegisterOatFile() argument
62 LocationIsOnSystem(oat_file->GetLocation().c_str()) || in RegisterOatFile()
63 !oat_file->IsExecutable()) in RegisterOatFile()
64 << "Registering a non /system oat file: " << oat_file->GetLocation(); in RegisterOatFile()
65 DCHECK(oat_file != nullptr); in RegisterOatFile()
67 CHECK(oat_files_.find(oat_file) == oat_files_.end()); in RegisterOatFile()
69 CHECK_NE(oat_file.get(), existing.get()) << oat_file->GetLocation(); in RegisterOatFile()
72 CHECK_NE(oat_file->Begin(), existing->Begin()) << "Oat file already mapped at that location"; in RegisterOatFile()
75 have_non_pic_oat_file_ = have_non_pic_oat_file_ || !oat_file->IsPic(); in RegisterOatFile()
76 const OatFile* ret = oat_file.get(); in RegisterOatFile()
77 oat_files_.insert(std::move(oat_file)); in RegisterOatFile()
81 void OatFileManager::UnRegisterAndDeleteOatFile(const OatFile* oat_file) { in UnRegisterAndDeleteOatFile() argument
83 DCHECK(oat_file != nullptr); in UnRegisterAndDeleteOatFile()
84 std::unique_ptr<const OatFile> compare(oat_file); in UnRegisterAndDeleteOatFile()
94 for (const std::unique_ptr<const OatFile>& oat_file : oat_files_) { in FindOpenedOatFileFromDexLocation() local
95 const std::vector<const OatDexFile*>& oat_dex_files = oat_file->GetOatDexFiles(); in FindOpenedOatFileFromDexLocation()
98 return oat_file.get(); in FindOpenedOatFileFromDexLocation()
113 for (const std::unique_ptr<const OatFile>& oat_file : oat_files_) { in FindOpenedOatFileFromOatLocationLocked() local
114 if (oat_file->GetLocation() == oat_location) { in FindOpenedOatFileFromOatLocationLocked()
115 return oat_file.get(); in FindOpenedOatFileFromOatLocationLocked()
135 for (const std::unique_ptr<const OatFile>& oat_file : oat_files_) { in GetPrimaryOatFile() local
136 if (std::find(boot_oat_files.begin(), boot_oat_files.end(), oat_file.get()) == in GetPrimaryOatFile()
138 return oat_file.get(); in GetPrimaryOatFile()
256 const OatFile* oat_file, in AddDexFilesFromOat() argument
259 for (const OatDexFile* oat_dex_file : oat_file->GetOatDexFiles()) { in AddDexFilesFromOat()
358 bool OatFileManager::HasCollisions(const OatFile* oat_file, in HasCollisions() argument
361 DCHECK(oat_file != nullptr); in HasCollisions()
376 if (context->VerifyClassLoaderContextMatch(oat_file->GetClassLoaderContext())) { in HasCollisions()
390 AddDexFilesFromOat(oat_file, &dex_files_unloaded, &opened_dex_files); in HasCollisions()
471 std::unique_ptr<const OatFile> oat_file(oat_file_assistant.GetBestOatFile().release()); in OpenDexFilesFromOat() local
473 << reinterpret_cast<uintptr_t>(oat_file.get()) in OpenDexFilesFromOat()
474 << " (executable=" << (oat_file != nullptr ? oat_file->IsExecutable() : false) << ")"; in OpenDexFilesFromOat()
476 if ((class_loader != nullptr || dex_elements != nullptr) && oat_file != nullptr) { in OpenDexFilesFromOat()
482 !HasCollisions(oat_file.get(), context.get(), /*out*/ &error_msg); in OpenDexFilesFromOat()
517 VLOG(class_linker) << "Registering " << oat_file->GetLocation(); in OpenDexFilesFromOat()
518 source_oat_file = RegisterOatFile(std::move(oat_file)); in OpenDexFilesFromOat()
646 for (const std::unique_ptr<const OatFile>& oat_file : oat_files_) { in DumpForSigQuit() local
647 if (ContainsElement(boot_oat_files, oat_file.get())) { in DumpForSigQuit()
650 os << oat_file->GetLocation() << ": " << oat_file->GetCompilerFilter() << "\n"; in DumpForSigQuit()