summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Boehm <hboehm@google.com>2021-06-25 08:37:24 -0700
committeralk3pInjection <webmaster@raspii.tech>2021-09-27 21:17:05 +0800
commit98fa87e9fb2f2b163fc3a7de75bdedd8ef8bc78a (patch)
tree9ec7da8683f3567fd8ae146319c48a71549028bd
parent6db2315ee69ab2566c697764876a24a2217ffaff (diff)
[master] Add dalvik.vm.force-java-zygote-fork-loop
Bug: 192020504 Test: Check logcat with and without the flag. Change-Id: Ia46a011125a6e245bbd9065d708d1f905d56e3af
-rw-r--r--core/jni/AndroidRuntime.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 3f66b79744d6..57fce1adf968 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -668,6 +668,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
char methodTraceFileBuf[sizeof("-Xmethod-trace-file:") + PROPERTY_VALUE_MAX];
char methodTraceFileSizeBuf[sizeof("-Xmethod-trace-file-size:") + PROPERTY_VALUE_MAX];
std::string fingerprintBuf;
+ char javaZygoteForkLoopBuf[sizeof("-XX:ForceJavaZygoteForkLoop=") + PROPERTY_VALUE_MAX];
char jdwpProviderBuf[sizeof("-XjdwpProvider:") - 1 + PROPERTY_VALUE_MAX];
char opaqueJniIds[sizeof("-Xopaque-jni-ids:") - 1 + PROPERTY_VALUE_MAX];
char bootImageBuf[sizeof("-Ximage:") - 1 + PROPERTY_VALUE_MAX];
@@ -870,6 +871,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p
parseRuntimeOption("dalvik.vm.backgroundgctype", backgroundgcOptsBuf, "-XX:BackgroundGC=");
/*
+ * Enable/disable zygote native fork loop.
+ */
+ parseRuntimeOption("dalvik.vm.force-java-zygote-fork-loop",
+ javaZygoteForkLoopBuf,
+ "-XX:ForceJavaZygoteForkLoop=");
+
+ /*
* Enable debugging only for apps forked from zygote.
*/
if (zygote) {