Add property for background GC type

To disable background compaction do:
adb shell setprop dalvik.vm.backgroundgctype CMS

To enable:
adb shell setprop dalvik.vm.backgroundgctype SS

Change-Id: I1d87b95fceaedac4df5ce6e718d7c14b35d524cc
This commit is contained in:
Mathieu Chartier
2014-05-14 15:44:49 -07:00
parent bcf7624213
commit c01936a686

View File

@@ -467,6 +467,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
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 backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1 + PROPERTY_VALUE_MAX];
char heaptargetutilizationOptsBuf[sizeof("-XX:HeapTargetUtilization=")-1 + PROPERTY_VALUE_MAX];
char jitcodecachesizeOptsBuf[sizeof("-Xjitcodecachesize:")-1 + PROPERTY_VALUE_MAX];
char dalvikVmLibBuf[PROPERTY_VALUE_MAX];
@@ -620,6 +621,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
mOptions.add(opt);
}
strcpy(backgroundgcOptsBuf, "-XX:BackgroundGC=");
property_get("dalvik.vm.backgroundgctype", backgroundgcOptsBuf+sizeof("-XX:BackgroundGC=")-1, "");
if (backgroundgcOptsBuf[sizeof("-XX:BackgroundGC=")-1] != '\0') {
opt.optionString = backgroundgcOptsBuf;
mOptions.add(opt);
}
/*
* Enable or disable dexopt features, such as bytecode verification and
* calculation of register maps for precise GC.