diff options
Diffstat (limited to 'vm/Init.c')
| -rw-r--r-- | vm/Init.c | 20 |
1 files changed, 20 insertions, 0 deletions
@@ -111,6 +111,9 @@ static void dvmUsage(const char* progName) dvmFprintf(stderr, " -Xjnigreflimit:N (must be multiple of 100, >= 200)\n"); dvmFprintf(stderr, " -Xjniopts:{warnonly,forcecopy}\n"); +#if defined(WITH_JNI_TRACE) + dvmFprintf(stderr, " -Xjnitrace:substring (eg NativeClass or nativeMethod)\n"); +#endif dvmFprintf(stderr, " -Xdeadlockpredict:{off,warn,err,abort}\n"); dvmFprintf(stderr, " -Xstacktracefile:<filename>\n"); dvmFprintf(stderr, " -Xgc:[no]precise\n"); @@ -118,6 +121,7 @@ static void dvmUsage(const char* progName) dvmFprintf(stderr, " -Xgc:[no]preverify\n"); dvmFprintf(stderr, " -Xgc:[no]postverify\n"); dvmFprintf(stderr, " -Xgc:[no]concurrent\n"); + dvmFprintf(stderr, " -Xgc:[no]verifycardtable\n"); dvmFprintf(stderr, " -Xgenregmap\n"); dvmFprintf(stderr, " -Xcheckdexsum\n"); #if defined(WITH_JIT) @@ -175,6 +179,9 @@ static void dvmUsage(const char* progName) #ifdef WITH_JNI_STACK_CHECK " jni_stack_check" #endif +#ifdef WITH_JNI_TRACE + " jni_trace" +#endif #ifdef EASY_GDB " easy_gdb" #endif @@ -885,6 +892,11 @@ static int dvmProcessOptions(int argc, const char* const argv[], } gDvm.jniGrefLimit = lim; +#if defined(WITH_JNI_TRACE) + } else if (strncmp(argv[i], "-Xjnitrace:", 11) == 0) { + gDvm.jniTrace = strdup(argv[i] + 11); +#endif + } else if (strcmp(argv[i], "-Xlog-stdio") == 0) { gDvm.logStdio = true; @@ -988,6 +1000,10 @@ static int dvmProcessOptions(int argc, const char* const argv[], gDvm.concurrentMarkSweep = true; else if (strcmp(argv[i] + 5, "noconcurrent") == 0) gDvm.concurrentMarkSweep = false; + else if (strcmp(argv[i] + 5, "verifycardtable") == 0) + gDvm.verifyCardTable = true; + else if (strcmp(argv[i] + 5, "noverifycardtable") == 0) + gDvm.verifyCardTable = false; else { dvmFprintf(stderr, "Bad value for -Xgc"); return -1; @@ -1040,6 +1056,8 @@ static void setCommandLineDefaults() gDvm.heapSizeMax = 16 * 1024 * 1024; // Spec says 75% physical mem gDvm.stackSize = kDefaultStackSize; + gDvm.concurrentMarkSweep = true; + /* gDvm.jdwpSuspend = true; */ /* allowed unless zygote config doesn't allow it */ @@ -1602,6 +1620,8 @@ void dvmShutdown(void) dvmJdwpShutdown(gDvm.jdwpState); free(gDvm.jdwpHost); gDvm.jdwpHost = NULL; + free(gDvm.jniTrace); + gDvm.jniTrace = NULL; free(gDvm.stackTraceFile); gDvm.stackTraceFile = NULL; |
