summaryrefslogtreecommitdiffstats
path: root/core/jni/AndroidRuntime.cpp
diff options
context:
space:
mode:
authorAndy McFadden <>2009-04-03 11:09:46 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-03 11:09:46 -0700
commite2b23e11a5475e5c35eb07ba883cb05eca18796f (patch)
tree5872db9782b34d60b606940b86b208bacef3d6c4 /core/jni/AndroidRuntime.cpp
parentd9c0df1d3e1c490874713a79e1376a2c147e036d (diff)
downloadframeworks_base-e2b23e11a5475e5c35eb07ba883cb05eca18796f.zip
frameworks_base-e2b23e11a5475e5c35eb07ba883cb05eca18796f.tar.gz
frameworks_base-e2b23e11a5475e5c35eb07ba883cb05eca18796f.tar.bz2
AI 144469: Added test for dalvik.vm.check-dex-sum property.
Enables -Xcheckdexsum argument, which causes the VM to test checksums when loading optimized DEX files. BUG=1749836 Automated import of CL 144469
Diffstat (limited to 'core/jni/AndroidRuntime.cpp')
-rw-r--r--core/jni/AndroidRuntime.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/core/jni/AndroidRuntime.cpp b/core/jni/AndroidRuntime.cpp
index bd1011b..5872c9e 100644
--- a/core/jni/AndroidRuntime.cpp
+++ b/core/jni/AndroidRuntime.cpp
@@ -512,6 +512,7 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
char jniOptsBuf[sizeof("-Xjniopts:")-1 + PROPERTY_VALUE_MAX];
char* stackTraceFile = NULL;
bool checkJni = false;
+ bool checkDexSum = false;
bool logStdio = false;
enum { kEMDefault, kEMIntPortable, kEMIntFast } executionMode = kEMDefault;
@@ -536,6 +537,11 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
property_get("dalvik.vm.stack-trace-file", stackTraceFileBuf, "");
+ property_get("dalvik.vm.check-dex-sum", propBuf, "");
+ if (strcmp(propBuf, "true") == 0) {
+ checkDexSum = true;
+ }
+
property_get("log.redirect-stdio", propBuf, "");
if (strcmp(propBuf, "true") == 0) {
logStdio = true;
@@ -670,6 +676,13 @@ int AndroidRuntime::startVm(JavaVM** pJavaVM, JNIEnv** pEnv)
opt.optionString = "-Xint:fast";
mOptions.add(opt);
}
+
+ if (checkDexSum) {
+ /* perform additional DEX checksum tests */
+ opt.optionString = "-Xcheckdexsum";
+ mOptions.add(opt);
+ }
+
if (logStdio) {
/* convert stdout/stderr to log messages */
opt.optionString = "-Xlog-stdio";