From e2b23e11a5475e5c35eb07ba883cb05eca18796f Mon Sep 17 00:00:00 2001 From: Andy McFadden <> Date: Fri, 3 Apr 2009 11:09:46 -0700 Subject: 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 --- core/jni/AndroidRuntime.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'core/jni/AndroidRuntime.cpp') 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"; -- cgit v1.1