summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorBarry Hayes <bhayes@google.com>2010-02-03 10:58:18 -0800
committerAndroid (Google) Code Review <android-gerrit@google.com>2010-02-03 10:58:18 -0800
commit6511fe9c9dcb2ba3e4d7891f5bbd750e703c08f0 (patch)
tree11f41a667e32b00c2050adf8777a6ffb10b8d760 /core/jni
parentd5bb7ef77ee23236f25beffce7e0f726922c86fd (diff)
parentc2b3217823444792b52d621b3cd024d64c3338e3 (diff)
downloadframeworks_base-6511fe9c9dcb2ba3e4d7891f5bbd750e703c08f0.zip
frameworks_base-6511fe9c9dcb2ba3e4d7891f5bbd750e703c08f0.tar.gz
frameworks_base-6511fe9c9dcb2ba3e4d7891f5bbd750e703c08f0.tar.bz2
Merge "Add a "dalvik.vm.gc.overwritefree" property. When set to "true", the VM will be given the "-Xgc:overwritefree" flag, and the GC will clobber the memory of freed objects."
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/AndroidRuntime.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index fa1ee0d..1d22de3 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -656,6 +656,15 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
}
}
+ /* enable poisoning of memory of freed objects */
+ property_get("dalvik.vm.gc.overwritefree", propBuf, "false");
+ if (strcmp(propBuf, "true") == 0) {
+ opt.optionString = "-Xgc:overwritefree";
+ mOptions.add(opt);
+ } else if (strcmp(propBuf, "false") != 0) {
+ LOGW("dalvik.vm.gc.overwritefree should be 'true' or 'false'");
+ }
+
/* enable debugging; set suspend=y to pause during VM init */
#ifdef HAVE_ANDROID_OS
/* use android ADB transport */