diff options
author | 2023-10-30 10:12:01 +0000 | |
---|---|---|
committer | 2024-01-30 15:33:00 +0000 | |
commit | f5307a31f5b67f6184cbb7e8b7fab61be3725fce (patch) | |
tree | 01d9284e052f5d96e723989dba214588c5c5d3dc /compiler/driver/compiler_options_map-inl.h | |
parent | ee4c3d633f673be1d43c959a3bc99519a376dba0 (diff) |
Allow compilation of large methods with no branches
Popular apps include such methods in their profiles. Having
the extra heuristic of skipping compilation for large methods
with no branches can be unintuitive for developers who created
those profiles.
Some apps see startup improvements with this heuristic removed.
Bug: 316617683
Test: art/test/testrunner/testrunner.py --host --64 --optimizing -b
Change-Id: I21a8da93e89399dac0e45c3ab43a8bbedc925a44
Diffstat (limited to 'compiler/driver/compiler_options_map-inl.h')
-rw-r--r-- | compiler/driver/compiler_options_map-inl.h | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/compiler/driver/compiler_options_map-inl.h b/compiler/driver/compiler_options_map-inl.h index 9a02b576d1..317b2861b7 100644 --- a/compiler/driver/compiler_options_map-inl.h +++ b/compiler/driver/compiler_options_map-inl.h @@ -57,7 +57,6 @@ inline bool ReadCompilerOptions(Base& map, CompilerOptions* options, std::string } map.AssignIfExists(Base::CompileArtTest, &options->compile_art_test_); map.AssignIfExists(Base::HugeMethodMaxThreshold, &options->huge_method_threshold_); - map.AssignIfExists(Base::LargeMethodMaxThreshold, &options->large_method_threshold_); map.AssignIfExists(Base::InlineMaxCodeUnitsThreshold, &options->inline_max_code_units_); map.AssignIfExists(Base::GenerateDebugInfo, &options->generate_debug_info_); map.AssignIfExists(Base::GenerateMiniDebugInfo, &options->generate_mini_debug_info_); @@ -134,10 +133,6 @@ NO_INLINE void AddCompilerOptionsArgumentParserOptions(Builder& b) { .template WithType<unsigned int>() .WithHelp("threshold size for a huge method for compiler filter tuning.") .IntoKey(Map::HugeMethodMaxThreshold) - .Define("--large-method-max=_") - .template WithType<unsigned int>() - .WithHelp("threshold size for a large method for compiler filter tuning.") - .IntoKey(Map::LargeMethodMaxThreshold) .Define("--inline-max-code-units=_") .template WithType<unsigned int>() .WithHelp("the maximum code units that a methodcan have to be considered for inlining.\n" @@ -256,6 +251,7 @@ NO_INLINE void AddCompilerOptionsArgumentParserOptions(Builder& b) { .Ignore({ "--num-dex-methods=_", "--top-k-profile-threshold=_", + "--large-method-max=_", }); // clang-format on } |