Loading cmds/installd/dexopt.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -1942,7 +1942,8 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins RUNTIME_NATIVE_BOOT_NAMESPACE, ENABLE_JITZYGOTE_IMAGE, /*default_value=*/ ""); bool use_jitzygote_image = jitzygote_flag == "true" || IsBootClassPathProfilingEnable(); bool compile_without_image = jitzygote_flag == "true" || IsBootClassPathProfilingEnable() || force_compile_without_image(); // Decide whether to use dex2oat64. bool use_dex2oat64 = false; Loading @@ -1964,7 +1965,7 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins in_dex, in_vdex, dex_metadata, reference_profile, class_loader_context, join_fds(context_input_fds), swap_fd.get(), instruction_set, compiler_filter, debuggable, boot_complete, for_restore, target_sdk_version, enable_hidden_api_checks, generate_compact_dex, use_jitzygote_image, enable_hidden_api_checks, generate_compact_dex, compile_without_image, background_job_compile, compilation_reason); bool cancelled = false; Loading cmds/installd/installd.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,10 @@ bool create_cache_path(char path[PKG_PATH_MAX], const char *src, const char *ins return create_cache_path_default(path, src, instruction_set); } bool force_compile_without_image() { return false; } static bool initialize_globals() { return init_globals_from_data_and_root(); } Loading cmds/installd/installd_deps.h +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ extern bool create_cache_path(char path[PKG_PATH_MAX], const char *src, const char *instruction_set); // If true, pass "--force-jit-zygote" to dex2oat (i.e., compile without a boot image). extern bool force_compile_without_image(); } // namespace installd } // namespace android Loading cmds/installd/otapreopt.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -711,6 +711,11 @@ bool create_cache_path(char path[PKG_PATH_MAX], return true; } bool force_compile_without_image() { // We don't have a boot image anyway. Compile without a boot image. return true; } static int log_callback(int type, const char *fmt, ...) { va_list ap; int priority; Loading cmds/installd/tests/installd_cache_test.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ bool create_cache_path(char path[PKG_PATH_MAX] ATTRIBUTE_UNUSED, return false; } bool force_compile_without_image() { return false; } static void mkdir(const char* path) { const std::string fullPath = StringPrintf("/data/local/tmp/user/0/%s", path); ::mkdir(fullPath.c_str(), 0755); Loading Loading
cmds/installd/dexopt.cpp +3 −2 Original line number Diff line number Diff line Loading @@ -1942,7 +1942,8 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins RUNTIME_NATIVE_BOOT_NAMESPACE, ENABLE_JITZYGOTE_IMAGE, /*default_value=*/ ""); bool use_jitzygote_image = jitzygote_flag == "true" || IsBootClassPathProfilingEnable(); bool compile_without_image = jitzygote_flag == "true" || IsBootClassPathProfilingEnable() || force_compile_without_image(); // Decide whether to use dex2oat64. bool use_dex2oat64 = false; Loading @@ -1964,7 +1965,7 @@ int dexopt(const char* dex_path, uid_t uid, const char* pkgname, const char* ins in_dex, in_vdex, dex_metadata, reference_profile, class_loader_context, join_fds(context_input_fds), swap_fd.get(), instruction_set, compiler_filter, debuggable, boot_complete, for_restore, target_sdk_version, enable_hidden_api_checks, generate_compact_dex, use_jitzygote_image, enable_hidden_api_checks, generate_compact_dex, compile_without_image, background_job_compile, compilation_reason); bool cancelled = false; Loading
cmds/installd/installd.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -65,6 +65,10 @@ bool create_cache_path(char path[PKG_PATH_MAX], const char *src, const char *ins return create_cache_path_default(path, src, instruction_set); } bool force_compile_without_image() { return false; } static bool initialize_globals() { return init_globals_from_data_and_root(); } Loading
cmds/installd/installd_deps.h +3 −0 Original line number Diff line number Diff line Loading @@ -57,6 +57,9 @@ extern bool create_cache_path(char path[PKG_PATH_MAX], const char *src, const char *instruction_set); // If true, pass "--force-jit-zygote" to dex2oat (i.e., compile without a boot image). extern bool force_compile_without_image(); } // namespace installd } // namespace android Loading
cmds/installd/otapreopt.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -711,6 +711,11 @@ bool create_cache_path(char path[PKG_PATH_MAX], return true; } bool force_compile_without_image() { // We don't have a boot image anyway. Compile without a boot image. return true; } static int log_callback(int type, const char *fmt, ...) { va_list ap; int priority; Loading
cmds/installd/tests/installd_cache_test.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -67,6 +67,10 @@ bool create_cache_path(char path[PKG_PATH_MAX] ATTRIBUTE_UNUSED, return false; } bool force_compile_without_image() { return false; } static void mkdir(const char* path) { const std::string fullPath = StringPrintf("/data/local/tmp/user/0/%s", path); ::mkdir(fullPath.c_str(), 0755); Loading