diff options
author | Barry Hayes <bhayes@google.com> | 2010-02-02 14:05:09 -0800 |
---|---|---|
committer | Barry Hayes <bhayes@google.com> | 2010-02-03 08:46:54 -0800 |
commit | c2b3217823444792b52d621b3cd024d64c3338e3 (patch) | |
tree | 0367795bf20d52e8fe2f12d6798f0ebb7ceeb042 /core/jni | |
parent | 445cc0e4bfd5b9460fb1cdccd22d8d54a49e5da1 (diff) | |
download | frameworks_base-c2b3217823444792b52d621b3cd024d64c3338e3.zip frameworks_base-c2b3217823444792b52d621b3cd024d64c3338e3.tar.gz frameworks_base-c2b3217823444792b52d621b3cd024d64c3338e3.tar.bz2 |
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.cpp | 9 |
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 */ |