Lines Matching defs:dex_location
677 const OatFile* ClassLinker::FindOpenedOatFileFromDexLocation(const std::string& dex_location,
682 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location,
692 const DexFile* ClassLinker::FindDexFileInOatLocation(const std::string& dex_location,
720 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, &dex_location_checksum);
722 VLOG(class_linker) << "Failed to find oat file at " << oat_location << " containing " << dex_location;
737 const DexFile* ClassLinker::FindOrCreateOatFileForDexLocation(const std::string& dex_location,
741 return FindOrCreateOatFileForDexLocationLocked(dex_location, dex_location_checksum, oat_location);
798 const DexFile* ClassLinker::FindOrCreateOatFileForDexLocationLocked(const std::string& dex_location,
813 const DexFile* dex_file = FindDexFileInOatLocation(dex_location,
821 VLOG(class_linker) << "Generating oat file " << oat_location << " for " << dex_location;
822 if (!GenerateOatFile(dex_location, scoped_flock.GetFile().Fd(), oat_location)) {
833 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, &dex_location_checksum);
835 LOG(ERROR) << "Failed to find dex file " << dex_location
842 << "dex_location=" << dex_location << " oat_location=" << oat_location << std::hex
849 const std::string& dex_location,
858 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, &dex_location_checksum);
861 << " does not contain contents for " << dex_location
889 << ") with " << dex_location
896 const std::string& dex_location,
898 bool verified = VerifyOatFileChecksums(oat_file, dex_location, dex_location_checksum);
904 return oat_file->GetOatDexFile(dex_location, &dex_location_checksum)->OpenDexFile();
907 const DexFile* ClassLinker::FindDexFileInOatFileFromDexLocation(const std::string& dex_location,
911 const OatFile* open_oat_file = FindOpenedOatFileFromDexLocation(dex_location,
914 return open_oat_file->GetOatDexFile(dex_location, &dex_location_checksum)->OpenDexFile();
919 std::string odex_filename(OatFile::DexFilenameToOdexFilename(dex_location));
923 if (!DexFile::GetChecksum(dex_location, &dex_location_checksum)) {
924 // If no classes.dex found in dex_location, it has been stripped, assume oat is up-to-date.
926 const OatFile::OatDexFile* oat_dex_file = oat_file->GetOatDexFile(dex_location, NULL);
927 CHECK(oat_dex_file != NULL) << odex_filename << " " << dex_location;
932 dex_location,
940 std::string cache_location(GetDalvikCacheFilenameOrDie(dex_location));
944 if (!DexFile::GetChecksum(dex_location, &dex_location_checksum)) {
945 LOG(WARNING) << "Failed to compute checksum: " << dex_location;
949 dex_location,
961 std::string oat_cache_filename(GetDalvikCacheFilenameOrDie(dex_location));
962 return FindOrCreateOatFileForDexLocationLocked(dex_location, dex_location_checksum, oat_cache_filename);