diff options
-rw-r--r-- | runtime/oat_file_manager.cc | 10 | ||||
-rw-r--r-- | runtime/parsed_options.cc | 3 | ||||
-rw-r--r-- | runtime/runtime_options.def | 4 | ||||
-rwxr-xr-x | test/etc/run-test-jar | 6 |
4 files changed, 15 insertions, 8 deletions
diff --git a/runtime/oat_file_manager.cc b/runtime/oat_file_manager.cc index ea6d3ff3dd..f26d43190d 100644 --- a/runtime/oat_file_manager.cc +++ b/runtime/oat_file_manager.cc @@ -298,10 +298,12 @@ std::vector<std::unique_ptr<const DexFile>> OatFileManager::OpenDexFilesFromOat( const OatFile* source_oat_file = nullptr; - // Update the oat file on disk if we can. This may fail, but that's okay. - // Best effort is all that matters here. - if (!oat_file_assistant.MakeUpToDate(/*out*/&error_msg)) { - LOG(WARNING) << error_msg; + if (Runtime::Current()->IsDex2OatEnabled()) { + // Update the oat file on disk if we can. This may fail, but that's okay. + // Best effort is all that matters here. + if (!oat_file_assistant.MakeUpToDate(/*out*/&error_msg)) { + LOG(WARNING) << error_msg; + } } // Get the oat file on disk. diff --git a/runtime/parsed_options.cc b/runtime/parsed_options.cc index 5b1061087d..65efca6c5e 100644 --- a/runtime/parsed_options.cc +++ b/runtime/parsed_options.cc @@ -577,6 +577,9 @@ bool ParsedOptions::DoParse(const RuntimeOptions& options, << "Do not attempt to write shipping code against these opcodes."; } + // If -Xdex2oat is not passed, make it dependent on whether the JIT is enabled. + args.SetIfMissing(M::Dex2Oat, !args.GetOrDefault(M::UseJIT)); + *runtime_options = std::move(args); return true; } diff --git a/runtime/runtime_options.def b/runtime/runtime_options.def index 5624285b09..cced31c25d 100644 --- a/runtime/runtime_options.def +++ b/runtime/runtime_options.def @@ -66,7 +66,7 @@ RUNTIME_OPTIONS_KEY (Unit, IgnoreMaxFootprint) RUNTIME_OPTIONS_KEY (Unit, LowMemoryMode) RUNTIME_OPTIONS_KEY (bool, UseTLAB, (kUseTlab || kUseReadBarrier)) RUNTIME_OPTIONS_KEY (bool, EnableHSpaceCompactForOOM, true) -RUNTIME_OPTIONS_KEY (bool, UseJIT, false) +RUNTIME_OPTIONS_KEY (bool, UseJIT, true) RUNTIME_OPTIONS_KEY (unsigned int, JITCompileThreshold, jit::Jit::kDefaultCompileThreshold) RUNTIME_OPTIONS_KEY (unsigned int, JITWarmupThreshold, jit::Jit::kDefaultWarmupThreshold) RUNTIME_OPTIONS_KEY (MemoryKiB, JITCodeCacheInitialCapacity, jit::JitCodeCache::kInitialCapacity) @@ -80,7 +80,7 @@ RUNTIME_OPTIONS_KEY (std::vector<std::string>, \ RUNTIME_OPTIONS_KEY (std::string, JniTrace) RUNTIME_OPTIONS_KEY (std::string, PatchOat) RUNTIME_OPTIONS_KEY (bool, Relocate, kDefaultMustRelocate) -RUNTIME_OPTIONS_KEY (bool, Dex2Oat, true) +RUNTIME_OPTIONS_KEY (bool, Dex2Oat, false) RUNTIME_OPTIONS_KEY (bool, ImageDex2Oat, true) RUNTIME_OPTIONS_KEY (bool, Interpret, false) // -Xint // Disable the compiler for CC (for now). diff --git a/test/etc/run-test-jar b/test/etc/run-test-jar index 3efa6ff079..8d9db4905b 100755 --- a/test/etc/run-test-jar +++ b/test/etc/run-test-jar @@ -305,7 +305,7 @@ if [ "$USE_GDB" = "y" ]; then fi if [ "$INTERPRETER" = "y" ]; then - INT_OPTS="-Xint" + INT_OPTS="$INT_OPTS -Xint" if [ "$VERIFY" = "y" ] ; then COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=interpret-only" elif [ "$VERIFY" = "s" ]; then @@ -318,13 +318,15 @@ if [ "$INTERPRETER" = "y" ]; then fi if [ "$JIT" = "y" ]; then - INT_OPTS="-Xusejit:true" + INT_OPTS="$INT_OPTS -Xusejit:true" if [ "$VERIFY" = "y" ] ; then COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=verify-at-runtime" else COMPILE_FLAGS="${COMPILE_FLAGS} --compiler-filter=verify-none" DEX_VERIFY="${DEX_VERIFY} -Xverify:none" fi +else + INT_OPTS="$INT_OPTS -Xusejit:false" fi JNI_OPTS="-Xjnigreflimit:512 -Xcheck:jni" |