diff options
author | Mathieu Chartier <mathieuc@google.com> | 2018-10-15 09:44:35 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2018-10-16 13:13:26 -0700 |
commit | cd0f38fcbda3e578ac27e483a1ffb7718f83fb7a (patch) | |
tree | 5a8a89ca8cb04ae22d2c43aff38ab50717801581 /compiler/driver/compiler_options_map-inl.h | |
parent | 8677e4bd3a091588c3b8058439f7022edab57f6e (diff) |
Add logic to eagerly resolve const-string for startup methods
Added dex2oat option --resolve-startup-const-strings=<true|false>
If true, this option causes the compiler driver to resolve all
const-strings that are referenced from methods marked as "startup" in
the profile.
Bug: 116059983
Test: test-art-host
Change-Id: I61cf9e945c125671fc4ab4b50458a911318a837f
Diffstat (limited to 'compiler/driver/compiler_options_map-inl.h')
-rw-r--r-- | compiler/driver/compiler_options_map-inl.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/driver/compiler_options_map-inl.h b/compiler/driver/compiler_options_map-inl.h index d4a582fb35..5a844959c4 100644 --- a/compiler/driver/compiler_options_map-inl.h +++ b/compiler/driver/compiler_options_map-inl.h @@ -80,6 +80,7 @@ inline bool ReadCompilerOptions(Base& map, CompilerOptions* options, std::string if (map.Exists(Base::CountHotnessInCompiledCode)) { options->count_hotness_in_compiled_code_ = true; } + map.AssignIfExists(Base::ResolveStartupConstStrings, &options->resolve_startup_const_strings_); if (map.Exists(Base::DumpTimings)) { options->dump_timings_ = true; @@ -184,6 +185,11 @@ inline void AddCompilerOptionsArgumentParserOptions(Builder& b) { .template WithType<std::string>() .IntoKey(Map::RegisterAllocationStrategy) + .Define("--resolve-startup-const-strings=_") + .template WithType<bool>() + .WithValueMap({{"false", false}, {"true", true}}) + .IntoKey(Map::ResolveStartupConstStrings) + .Define("--verbose-methods=_") .template WithType<ParseStringList<','>>() .IntoKey(Map::VerboseMethods); |