summaryrefslogtreecommitdiffstats
path: root/dex2oat
diff options
context:
space:
mode:
authorAndreas Gampe <agampe@google.com>2015-03-02 14:07:33 -0800
committerAndreas Gampe <agampe@google.com>2015-03-04 12:19:44 -0800
commit7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394 (patch)
treebe2f01bfa3e326ea10ee3a670cca8e41a5abaa6d /dex2oat
parentdc47e986941b1a3754447fabea272485f3f0f382 (diff)
downloadart-7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394.zip
art-7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394.tar.gz
art-7b2f09eb6b5c74ffc38bd70f0aa74b8f8112e394.tar.bz2
ART: Add debuggable compiler flag
Add a flag to compiler options that shows debuggability. Change-Id: Id17ec72babe2ee88713a0d274eff86508de30666
Diffstat (limited to 'dex2oat')
-rw-r--r--dex2oat/dex2oat.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/dex2oat/dex2oat.cc b/dex2oat/dex2oat.cc
index 22665ea..4460523 100644
--- a/dex2oat/dex2oat.cc
+++ b/dex2oat/dex2oat.cc
@@ -491,6 +491,7 @@ class Dex2Oat FINAL {
// Profile file to use
double top_k_profile_threshold = CompilerOptions::kDefaultTopKProfileThreshold;
+ bool debuggable = false;
bool include_patch_information = CompilerOptions::kDefaultIncludePatchInformation;
bool include_debug_symbols = kIsDebugBuild;
bool watch_dog_enabled = true;
@@ -679,6 +680,8 @@ class Dex2Oat FINAL {
} else if (option == "--no-include-debug-symbols" || option == "--strip-symbols") {
include_debug_symbols = false;
generate_gdb_information = false; // Depends on debug symbols, see above.
+ } else if (option == "--debuggable") {
+ debuggable = true;
} else if (option.starts_with("--profile-file=")) {
profile_file_ = option.substr(strlen("--profile-file=")).data();
VLOG(compiler) << "dex2oat: profile file is " << profile_file_;
@@ -926,6 +929,10 @@ class Dex2Oat FINAL {
break;
}
+ if (debuggable) {
+ // TODO: Consider adding CFI info and symbols here.
+ }
+
compiler_options_.reset(new CompilerOptions(compiler_filter,
huge_method_threshold,
large_method_threshold,
@@ -935,6 +942,7 @@ class Dex2Oat FINAL {
generate_gdb_information,
include_patch_information,
top_k_profile_threshold,
+ debuggable,
include_debug_symbols,
implicit_null_checks,
implicit_so_checks,