summaryrefslogtreecommitdiff
path: root/core/jni/AndroidRuntime.cpp
diff options
context:
space:
mode:
authorWessam Hassanein <wessam@google.com>2021-04-30 01:33:21 -0700
committerWessam Hassanein <wessam@google.com>2021-05-05 11:55:34 -0700
commitf1d719b0a27d739964d999c81158bf45e5e71cd7 (patch)
tree12884382988d85cd07c3c9675a005eac2ab53af1 /core/jni/AndroidRuntime.cpp
parent4e8328c972f136dc1181b5f7c2ce2e335ca9521b (diff)
Enable PerfettoJavaHeapStackProf in the zygote.
This allows us to collect Java Heap Profiler data directly without needing to set the flag similar to PerfettoHprof. Test: Passing Tests Local Testing Bug: 160214819 Change-Id: Id4888107c7b12f076de8237fd42bab49319566b5
Diffstat (limited to 'core/jni/AndroidRuntime.cpp')
-rw-r--r--core/jni/AndroidRuntime.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index 855448b21069..11f76a4ebc2e 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");
}