From 01bc0364698d497de9094757ab4e4aca41419b15 Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Fri, 25 Jun 2021 08:37:24 -0700 Subject: [PATCH] Add dalvik.vm.force-java-zygote-fork-loop Bug: 192020504 Test: Check logcat with and without the flag. Change-Id: Ia46a011125a6e245bbd9065d708d1f905d56e3af Merged-In: Ia46a011125a6e245bbd9065d708d1f905d56e3af (cherry picked from commit f2a815dcbf134e22a60c13121d0a94bf5d018ed5) --- core/jni/AndroidRuntime.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 4c4c9aae1b0fc..406ccde533306 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -690,6 +690,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]; @@ -912,6 +913,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. */