Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e2b23e11 authored by Andy McFadden's avatar Andy McFadden Committed by The Android Open Source Project
Browse files

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
parent d9c0df1d
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -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";