summaryrefslogtreecommitdiffstats
path: root/dex2oat
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2015-03-11 18:41:06 +0000
committerNicolas Geoffray <ngeoffray@google.com>2015-03-17 15:25:42 +0000
commitf3251d12dfa387493dbde4c4148a633802f5f7e3 (patch)
tree9f256cb7f0f79ee9ef7da7927d990c355cf15eb2 /dex2oat
parenteb46017aaa3906e293d6e975d4db3ba02b9bebe9 (diff)
downloadart-f3251d12dfa387493dbde4c4148a633802f5f7e3.zip
art-f3251d12dfa387493dbde4c4148a633802f5f7e3.tar.gz
art-f3251d12dfa387493dbde4c4148a633802f5f7e3.tar.bz2
Use optimizing for apps.
Doing it in dex2oat, to avoid messing up with our current testing. Change-Id: I76c58f11f0d4756b894e797fc52712453e35adb1
Diffstat (limited to 'dex2oat')
-rw-r--r--dex2oat/dex2oat.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index bb80a70..a372179 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -494,6 +494,7 @@ class Dex2Oat FINAL {
bool watch_dog_enabled = true;
bool generate_gdb_information = kIsDebugBuild;
bool abort_on_hard_verifier_error = false;
+ bool requested_specific_compiler = false;
PassManagerOptions pass_manager_options;
@@ -603,6 +604,7 @@ class Dex2Oat FINAL {
Usage("Error parsing '%s': %s", option.data(), error_msg.c_str());
}
} else if (option.starts_with("--compiler-backend=")) {
+ requested_specific_compiler = true;
StringPiece backend_str = option.substr(strlen("--compiler-backend=")).data();
if (backend_str == "Quick") {
compiler_kind_ = Compiler::kQuick;
@@ -612,6 +614,7 @@ class Dex2Oat FINAL {
Usage("Unknown compiler backend: %s", backend_str.data());
}
} else if (option.starts_with("--compiler-filter=")) {
+ requested_specific_compiler = true;
compiler_filter_string = option.substr(strlen("--compiler-filter=")).data();
} else if (option == "--compile-pic") {
compile_pic = true;
@@ -741,6 +744,13 @@ class Dex2Oat FINAL {
}
}
+ image_ = (!image_filename_.empty());
+ if (!requested_specific_compiler && !kUseOptimizingCompiler) {
+ // If no specific compiler is requested, the current behavior is
+ // to compile the boot image with Quick, and the rest with Optimizing.
+ compiler_kind_ = image_ ? Compiler::kQuick : Compiler::kOptimizing;
+ }
+
if (compiler_kind_ == Compiler::kOptimizing) {
// Optimizing only supports PIC mode.
compile_pic = true;
@@ -774,7 +784,6 @@ class Dex2Oat FINAL {
android_root_ += android_root_env_var;
}
- image_ = (!image_filename_.empty());
if (!image_ && boot_image_filename.empty()) {
boot_image_filename += android_root_;
boot_image_filename += "/framework/boot.art";