summaryrefslogtreecommitdiff
path: root/src/compiler/driver/compiler_driver.cc
diff options
context:
space:
mode:
author Ian Rogers <irogers@google.com> 2013-03-20 15:49:49 -0700
committer Ian Rogers <irogers@google.com> 2013-03-20 18:28:32 -0700
commitf3e9855ee2000106b54fd479f7a46da2dc2ad079 (patch)
tree0fb43ed2fc7f7b66190ff8a9c581c241b262270a /src/compiler/driver/compiler_driver.cc
parent2da15eda3ff7c4d7f5f35606cb8e5e596a1e0e74 (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.cc15
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