summaryrefslogtreecommitdiff
path: root/core/jni/AndroidRuntime.cpp
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2019-02-26 02:26:00 -0800
committerandroid-build-merger <android-build-merger@google.com>2019-02-26 02:26:00 -0800
commitd63481be772b0b8b6d66130bc006d832fd9d090c (patch)
tree62f94be5acb6b816d934155ce4a15b6e463274b2 /core/jni/AndroidRuntime.cpp
parent7553f7ebef63b7744e4c2f1080378c470844d071 (diff)
parent32498c5c0c19b96dedd948c001f1633699083daf (diff)
Merge "Query the enable_apex_image flag from native experiment." am: ed74814369
am: 32498c5c0c Change-Id: Ic88bc7f8739358ff1777fbd659bf9a70e5bd2e99
Diffstat (limited to 'core/jni/AndroidRuntime.cpp')
-rw-r--r--core/jni/AndroidRuntime.cpp18
1 files changed, 16 insertions, 2 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 7c69c3374c87..388285a5687f 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -232,6 +232,11 @@ static const char* kGenerationalCCRuntimeOption = "-Xgc:generational_cc";
// Copying (CC) garbage collector.
static const char* kNoGenerationalCCRuntimeOption = "-Xgc:nogenerational_cc";
+// Feature flag name for running the JIT in Zygote experiment, b/119800099.
+static const char* ENABLE_APEX_IMAGE = "enable_apex_image";
+// Flag to pass to the runtime when using the apex image.
+static const char* kApexImageOption = "-Ximage:/system/framework/apex.art";
+
static AndroidRuntime* gCurRuntime = NULL;
/*
@@ -666,8 +671,17 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote)
char jdwpProviderBuf[sizeof("-XjdwpProvider:") - 1 + PROPERTY_VALUE_MAX];
char bootImageBuf[sizeof("-Ximage:") - 1 + PROPERTY_VALUE_MAX];
- if (parseRuntimeOption("dalvik.vm.boot-image", bootImageBuf, "-Ximage:")) {
- ALOGI("Boot image: '%s'\n", bootImageBuf);
+ std::string use_apex_image =
+ server_configurable_flags::GetServerConfigurableFlag(RUNTIME_NATIVE_BOOT_NAMESPACE,
+ ENABLE_APEX_IMAGE,
+ /*default_value=*/ "");
+ if (use_apex_image == "true") {
+ addOption(kApexImageOption);
+ ALOGI("Using Apex boot image: '%s'\n", kApexImageOption);
+ } else if (parseRuntimeOption("dalvik.vm.boot-image", bootImageBuf, "-Ximage:")) {
+ ALOGI("Using dalvik.vm.boot-image: '%s'\n", bootImageBuf);
+ } else {
+ ALOGI("Using default boot image");
}
bool checkJni = false;