diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 855448b210693..11f76a4ebc2e4 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -662,6 +662,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p char extraOptsBuf[PROPERTY_VALUE_MAX]; char voldDecryptBuf[PROPERTY_VALUE_MAX]; char perfettoHprofOptBuf[sizeof("-XX:PerfettoHprof=") + PROPERTY_VALUE_MAX]; + char perfettoJavaHeapStackOptBuf[ + sizeof("-XX:PerfettoJavaHeapStackProf=") + PROPERTY_VALUE_MAX]; enum { kEMDefault, kEMIntPortable, @@ -776,6 +778,10 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p parseRuntimeOption("dalvik.vm.perfetto_hprof", perfettoHprofOptBuf, "-XX:PerfettoHprof=", "true"); + // Enable PerfettoJavaHeapStackProf in the zygote + parseRuntimeOption("dalvik.vm.perfetto_javaheap", perfettoJavaHeapStackOptBuf, + "-XX:PerfettoJavaHeapStackProf=", "true"); + if (primary_zygote) { addOption("-Xprimaryzygote"); }