diff options
| author | 2013-03-20 15:49:49 -0700 | |
|---|---|---|
| committer | 2013-03-20 18:28:32 -0700 | |
| commit | f3e9855ee2000106b54fd479f7a46da2dc2ad079 (patch) | |
| tree | 0fb43ed2fc7f7b66190ff8a9c581c241b262270a /src/compiler/driver/compiler_driver.cc | |
| parent | 2da15eda3ff7c4d7f5f35606cb8e5e596a1e0e74 (diff) | |
Slow ART.
Run ART with the interpreter for all but boot.oat code.
Change-Id: I1654ecff6769a6c754f713be7580717d5ce07dc1
Diffstat (limited to 'src/compiler/driver/compiler_driver.cc')
| -rw-r--r-- | src/compiler/driver/compiler_driver.cc | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/compiler/driver/compiler_driver.cc b/src/compiler/driver/compiler_driver.cc index cc170312e0..169790f9f3 100644 --- a/src/compiler/driver/compiler_driver.cc +++ b/src/compiler/driver/compiler_driver.cc @@ -1655,9 +1655,18 @@ void CompilerDriver::CompileMethod(const DexFile::CodeItem* code_item, uint32_t CHECK(compiled_method != NULL); } else if ((access_flags & kAccAbstract) != 0) { } else { - compiled_method = (*compiler_)(*this, code_item, access_flags, invoke_type, class_def_idx, - method_idx, class_loader, dex_file); - CHECK(compiled_method != NULL) << PrettyMethod(method_idx, dex_file); + bool dont_compile = false; +#if ART_SLOW_MODE + dont_compile = (image_classes_ == NULL) || (image_classes_->size() == 0); + if (dont_compile) { + LOG(INFO) << "Not compiling code as ART_SLOW_MODE is enabled"; + } +#endif // ART_SLOW_MODE + if (!dont_compile) { + compiled_method = (*compiler_)(*this, code_item, access_flags, invoke_type, class_def_idx, + method_idx, class_loader, dex_file); + CHECK(compiled_method != NULL) << PrettyMethod(method_idx, dex_file); + } } uint64_t duration_ns = NanoTime() - start_ns; #ifdef ART_USE_PORTABLE_COMPILER |