Loading cmds/installd/dexopt.cpp +3 −9 Original line number Diff line number Diff line Loading @@ -333,8 +333,7 @@ class RunDex2Oat : public ExecVHelper { MapPropertyToArg("dalvik.vm.dex2oat-very-large", "--very-large-app-threshold=%s"); // If the runtime was requested to use libartd.so, we'll run dex2oatd, otherwise dex2oat. const char* dex2oat_bin = "/apex/com.android.runtime/bin/dex2oat"; constexpr const char* kDex2oatDebugPath = "/apex/com.android.runtime/bin/dex2oatd"; const char* dex2oat_bin = kDex2oatPath; // Do not use dex2oatd for release candidates (give dex2oat more soak time). bool is_release = android::base::GetProperty("ro.build.version.codename", "") == "REL"; if (is_debug_runtime() || Loading Loading @@ -642,10 +641,7 @@ class RunProfman : public ExecVHelper { const std::vector<std::string>& dex_locations, bool copy_and_update, bool store_aggregation_counters) { const char* profman_bin = is_debug_runtime() ? "/apex/com.android.runtime/bin/profmand" : "/apex/com.android.runtime/bin/profman"; const char* profman_bin = is_debug_runtime() ? kProfmanDebugPath: kProfmanPath; if (copy_and_update) { CHECK_EQ(1u, profile_fds.size()); Loading Loading @@ -1461,9 +1457,7 @@ class RunDexoptAnalyzer : public ExecVHelper { const char* class_loader_context) { CHECK_GE(zip_fd, 0); const char* dexoptanalyzer_bin = is_debug_runtime() ? "/apex/com.android.runtime/bin/dexoptanalyzerd" : "/apex/com.android.runtime/bin/dexoptanalyzer"; is_debug_runtime() ? kDexoptanalyzerDebugPath : kDexoptanalyzerPath; std::string dex_file_arg = "--dex-file=" + dex_file; std::string oat_fd_arg = "--oat-fd=" + std::to_string(oat_fd); Loading cmds/installd/dexopt.h +10 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,16 @@ static constexpr int DEX2OAT_FROM_SCRATCH = 1; static constexpr int DEX2OAT_FOR_BOOT_IMAGE = 2; static constexpr int DEX2OAT_FOR_FILTER = 3; #define ANDROID_RUNTIME_APEX_BIN "/apex/com.android.runtime/bin" // Location of binaries in the Android Runtime APEX. static constexpr const char* kDex2oatPath = ANDROID_RUNTIME_APEX_BIN "/dex2oat"; static constexpr const char* kDex2oatDebugPath = ANDROID_RUNTIME_APEX_BIN "/dex2oatd"; static constexpr const char* kProfmanPath = ANDROID_RUNTIME_APEX_BIN "/profmand"; static constexpr const char* kProfmanDebugPath = ANDROID_RUNTIME_APEX_BIN "/profmand"; static constexpr const char* kDexoptanalyzerPath = ANDROID_RUNTIME_APEX_BIN "/dexoptanalyzer"; static constexpr const char* kDexoptanalyzerDebugPath = ANDROID_RUNTIME_APEX_BIN "/dexoptanalyzerd"; #undef ANDROID_RUNTIME_APEX_BIN // Clear the reference profile identified by the given profile name. bool clear_primary_reference_profile(const std::string& pkgname, const std::string& profile_name); // Clear the current profile identified by the given profile name (for single user). Loading cmds/installd/otapreopt.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,7 @@ private: const char* isa) const { // This needs to be kept in sync with ART, see art/runtime/gc/space/image_space.cc. std::vector<std::string> cmd; cmd.push_back("/apex/com.android.runtime/bin/dex2oat"); cmd.push_back(kDex2oatPath); cmd.push_back(StringPrintf("--image=%s", art_path.c_str())); for (const std::string& boot_part : Split(boot_cp, ":")) { cmd.push_back(StringPrintf("--dex-file=%s", boot_part.c_str())); Loading Loading
cmds/installd/dexopt.cpp +3 −9 Original line number Diff line number Diff line Loading @@ -333,8 +333,7 @@ class RunDex2Oat : public ExecVHelper { MapPropertyToArg("dalvik.vm.dex2oat-very-large", "--very-large-app-threshold=%s"); // If the runtime was requested to use libartd.so, we'll run dex2oatd, otherwise dex2oat. const char* dex2oat_bin = "/apex/com.android.runtime/bin/dex2oat"; constexpr const char* kDex2oatDebugPath = "/apex/com.android.runtime/bin/dex2oatd"; const char* dex2oat_bin = kDex2oatPath; // Do not use dex2oatd for release candidates (give dex2oat more soak time). bool is_release = android::base::GetProperty("ro.build.version.codename", "") == "REL"; if (is_debug_runtime() || Loading Loading @@ -642,10 +641,7 @@ class RunProfman : public ExecVHelper { const std::vector<std::string>& dex_locations, bool copy_and_update, bool store_aggregation_counters) { const char* profman_bin = is_debug_runtime() ? "/apex/com.android.runtime/bin/profmand" : "/apex/com.android.runtime/bin/profman"; const char* profman_bin = is_debug_runtime() ? kProfmanDebugPath: kProfmanPath; if (copy_and_update) { CHECK_EQ(1u, profile_fds.size()); Loading Loading @@ -1461,9 +1457,7 @@ class RunDexoptAnalyzer : public ExecVHelper { const char* class_loader_context) { CHECK_GE(zip_fd, 0); const char* dexoptanalyzer_bin = is_debug_runtime() ? "/apex/com.android.runtime/bin/dexoptanalyzerd" : "/apex/com.android.runtime/bin/dexoptanalyzer"; is_debug_runtime() ? kDexoptanalyzerDebugPath : kDexoptanalyzerPath; std::string dex_file_arg = "--dex-file=" + dex_file; std::string oat_fd_arg = "--oat-fd=" + std::to_string(oat_fd); Loading
cmds/installd/dexopt.h +10 −0 Original line number Diff line number Diff line Loading @@ -32,6 +32,16 @@ static constexpr int DEX2OAT_FROM_SCRATCH = 1; static constexpr int DEX2OAT_FOR_BOOT_IMAGE = 2; static constexpr int DEX2OAT_FOR_FILTER = 3; #define ANDROID_RUNTIME_APEX_BIN "/apex/com.android.runtime/bin" // Location of binaries in the Android Runtime APEX. static constexpr const char* kDex2oatPath = ANDROID_RUNTIME_APEX_BIN "/dex2oat"; static constexpr const char* kDex2oatDebugPath = ANDROID_RUNTIME_APEX_BIN "/dex2oatd"; static constexpr const char* kProfmanPath = ANDROID_RUNTIME_APEX_BIN "/profmand"; static constexpr const char* kProfmanDebugPath = ANDROID_RUNTIME_APEX_BIN "/profmand"; static constexpr const char* kDexoptanalyzerPath = ANDROID_RUNTIME_APEX_BIN "/dexoptanalyzer"; static constexpr const char* kDexoptanalyzerDebugPath = ANDROID_RUNTIME_APEX_BIN "/dexoptanalyzerd"; #undef ANDROID_RUNTIME_APEX_BIN // Clear the reference profile identified by the given profile name. bool clear_primary_reference_profile(const std::string& pkgname, const std::string& profile_name); // Clear the current profile identified by the given profile name (for single user). Loading
cmds/installd/otapreopt.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -438,7 +438,7 @@ private: const char* isa) const { // This needs to be kept in sync with ART, see art/runtime/gc/space/image_space.cc. std::vector<std::string> cmd; cmd.push_back("/apex/com.android.runtime/bin/dex2oat"); cmd.push_back(kDex2oatPath); cmd.push_back(StringPrintf("--image=%s", art_path.c_str())); for (const std::string& boot_part : Split(boot_cp, ":")) { cmd.push_back(StringPrintf("--dex-file=%s", boot_part.c_str())); Loading