From b4607fc27e528db5532335ecbefe59ae946cbf40 Mon Sep 17 00:00:00 2001 From: Lokesh Gidra Date: Wed, 5 Feb 2020 17:17:02 -0800 Subject: [PATCH] Make FinalizerTimeoutMs and ThreadSuspendTimeout system prop Currently these are command line options for dalvikvm. Exposing them to system property. Bug:143848108 Test: flash device; adb shell setprop dalvik.vm.finalizer-timeout-ms ; adb shell stop; adb shell start; adb shell getprop dalvik.vm.finalizer-timeout-ms Change-Id: I3bd16ea0c4a01b7e400b3e6e67eb47cf7a26afce --- core/jni/AndroidRuntime.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp index 9a27e719e5d9a..0aa0c5afc3154 100644 --- a/core/jni/AndroidRuntime.cpp +++ b/core/jni/AndroidRuntime.cpp @@ -672,6 +672,8 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX]; char foregroundHeapGrowthMultiplierOptsBuf[ sizeof("-XX:ForegroundHeapGrowthMultiplier=")-1 + PROPERTY_VALUE_MAX]; + char finalizerTimeoutMsOptsBuf[sizeof("-XX:FinalizerTimeoutMs=")-1 + PROPERTY_VALUE_MAX]; + char threadSuspendTimeoutOptsBuf[sizeof("-XX:ThreadSuspendTimeout=")-1 + PROPERTY_VALUE_MAX]; char cachePruneBuf[sizeof("-Xzygote-max-boot-retry=")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmsImageFlagsBuf[sizeof("-Xms")-1 + PROPERTY_VALUE_MAX]; char dex2oatXmxImageFlagsBuf[sizeof("-Xmx")-1 + PROPERTY_VALUE_MAX]; @@ -825,7 +827,15 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv, bool zygote, bool p parseRuntimeOption("dalvik.vm.foreground-heap-growth-multiplier", foregroundHeapGrowthMultiplierOptsBuf, "-XX:ForegroundHeapGrowthMultiplier="); - + /* + * Finalizer and thread suspend timeouts. + */ + parseRuntimeOption("dalvik.vm.finalizer-timeout-ms", + finalizerTimeoutMsOptsBuf, + "-XX:FinalizerTimeoutMs="); + parseRuntimeOption("dalvik.vm.thread-suspend-timeout-ms", + threadSuspendTimeoutOptsBuf, + "-XX:ThreadSuspendTimeout="); /* * JIT related options. */