summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Mathieu Chartier <mathieuc@google.com> 2013-12-02 16:00:49 -0800
committer Android Git Automerger <android-git-automerger@android.com> 2013-12-02 16:00:49 -0800
commitf3a2430a2b849f2c4041bcfba7fbefa9b2bb4d79 (patch)
treee9e8885e7567d3014fc7a406a49f41f6a2b6bc90
parentd400e6146b18b12a75d750654b8a118105fd1834 (diff)
parent738fa2f64e064f5c6d1003e528cde742e262312f (diff)
am 738fa2f6: Merge "Add dalvik.vm.gctype to enable switching between different GCs."
* commit '738fa2f64e064f5c6d1003e528cde742e262312f': Add dalvik.vm.gctype to enable switching between different GCs.
-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 09577da9121c..97ea5e625fde 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -447,6 +447,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
char heapgrowthlimitOptsBuf[sizeof("-XX:HeapGrowthLimit=")-1 + PROPERTY_VALUE_MAX];
char heapminfreeOptsBuf[sizeof("-XX:HeapMinFree=")-1 + PROPERTY_VALUE_MAX];
char heapmaxfreeOptsBuf[sizeof("-XX:HeapMaxFree=")-1 + PROPERTY_VALUE_MAX];
+ char gctypeOptsBuf[sizeof("-Xgc:")-1 + PROPERTY_VALUE_MAX];
char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX];
char jitcodecachesizeOptsBuf[sizeof("-Xjitcodecachesize:")-1 + PROPERTY_VALUE_MAX];
char extraOptsBuf[PROPERTY_VALUE_MAX];
@@ -582,6 +583,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
mOptions.add(opt);
}
+ strcpy(gctypeOptsBuf, "-Xgc:");
+ property_get("dalvik.vm.gctype", gctypeOptsBuf+5, "");
+ if (gctypeOptsBuf[5] != '\0') {
+ opt.optionString = gctypeOptsBuf;
+ mOptions.add(opt);
+ }
+
/*
* Enable or disable dexopt features, such as bytecode verification and
* calculation of register maps for precise GC.