diff options
| author | 2019-01-28 11:11:25 -0800 | |
|---|---|---|
| committer | 2019-01-29 18:08:12 -0800 | |
| commit | d2a975adb5b97be5e8f86a603666a66bdc934fd6 (patch) | |
| tree | 25ef3dc90d18baabaad28d6c82ecea0c57de387d | |
| parent | 1444690e53ee5a72cd745e1cd7287a03d315fc01 (diff) | |
Add gctype device config property for GC experiments
Added to the runtime_native namespace.
The new property overrides dalvik.vm.gctype if it's set.
Bug: 120794191
Test: adb shell device_config put runtime_native gctype CC,preverify
Test: adb reboot
Change-Id: I30a2a3bcfb83f502f168c0d8588d80982a5f7d76
| -rw-r--r-- | core/jni/Android.bp | 1 | ||||
| -rw-r--r-- | core/jni/AndroidRuntime.cpp | 13 |
2 files changed, 13 insertions, 1 deletions
diff --git a/core/jni/Android.bp b/core/jni/Android.bp index 9afd5d0bff03..51a3b48e58ec 100644 --- a/core/jni/Android.bp +++ b/core/jni/Android.bp @@ -301,6 +301,7 @@ cc_library_shared { "libhwui", "libdl", "libstatslog", + "server_configurable_flags", ], generated_sources: ["android_util_StatsLog.cpp"], diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index c90071a0de44..49598bbb5ada 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -31,6 +31,7 @@ #include <binder/Parcel.h> #include <utils/threads.h> #include <cutils/properties.h> +#include <server_configurable_flags/get_flags.h> #include <SkGraphics.h> @@ -774,7 +775,17 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote) addOption("-XX:LowMemoryMode"); } - parseRuntimeOption("dalvik.vm.gctype", gctypeOptsBuf, "-Xgc:"); + std::string gc_type_override = + server_configurable_flags::GetServerConfigurableFlag("runtime_native", "gctype", ""); + std::string gc_type_override_temp; + if (gc_type_override.empty()) { + parseRuntimeOption("dalvik.vm.gctype", gctypeOptsBuf, "-Xgc:"); + } else { + // Copy the string so it doesn't go out of scope since addOption does not make a copy. + gc_type_override_temp = "-Xgc:" + gc_type_override; + addOption(gc_type_override_temp.c_str()); + } + parseRuntimeOption("dalvik.vm.backgroundgctype", backgroundgcOptsBuf, "-XX:BackgroundGC="); /* |