diff options
author | 2024-01-29 14:24:31 +0000 | |
---|---|---|
committer | 2024-01-30 17:22:07 +0000 | |
commit | 33e9f1a70d5f58639b524f40bf39a8e233c04ba8 (patch) | |
tree | f78d2949cac297400c0854ef57a4190f77d28e1b /compiler/optimizing/profiling_info_builder.h | |
parent | 516020a3fbfe3db43f7faf0ac3daf5a45dbeeb6b (diff) |
Reland^2 "Run optimizations with baseline compilation."
This reverts commit 3dccb13f4e92db37a13359e126c5ddc12cb674b5.
Also includes the fix for incrementing hotness that got reverted:
aosp/2906378
Bug: 313040662
Reduces jank on compose view scrolling for 4 iterations:
- For Go Mokey:
- Before: ~698 frames drawn / ~13.87% janky frames
- After: ~937 frames drawn / ~5.52% janky frames
- For Pixel 8 pro:
- Before: ~2440 frames drawn / ~0.90% janky frames
- After: ~2450 frames drawn / ~0.55% janky frames
Reason for revert: Reduce inlining threshold for baseline.
Change-Id: Iee5cd4c3ceb7715caf9299b56551aae6f0259769
Diffstat (limited to 'compiler/optimizing/profiling_info_builder.h')
-rw-r--r-- | compiler/optimizing/profiling_info_builder.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/compiler/optimizing/profiling_info_builder.h b/compiler/optimizing/profiling_info_builder.h index 2185b0eed3..c8dc59a03c 100644 --- a/compiler/optimizing/profiling_info_builder.h +++ b/compiler/optimizing/profiling_info_builder.h @@ -24,6 +24,7 @@ namespace art HIDDEN { class CodeGenerator; class CompilerOptions; +class HInliner; class InlineCache; class ProfilingInfo; @@ -42,8 +43,13 @@ class ProfilingInfoBuilder : public HGraphDelegateVisitor { static constexpr const char* kProfilingInfoBuilderPassName = "profiling_info_builder"; - static InlineCache* GetInlineCache(ProfilingInfo* info, HInvoke* invoke); + static InlineCache* GetInlineCache(ProfilingInfo* info, + const CompilerOptions& compiler_options, + HInvoke* invoke); static bool IsInlineCacheUseful(HInvoke* invoke, CodeGenerator* codegen); + static uint32_t EncodeInlinedDexPc( + const HInliner* inliner, const CompilerOptions& compiler_options, HInvoke* invoke) + REQUIRES_SHARED(Locks::mutator_lock_); private: void VisitInvokeVirtual(HInvokeVirtual* invoke) override; @@ -52,7 +58,7 @@ class ProfilingInfoBuilder : public HGraphDelegateVisitor { void HandleInvoke(HInvoke* invoke); CodeGenerator* codegen_; - [[maybe_unused]] const CompilerOptions& compiler_options_; + const CompilerOptions& compiler_options_; std::vector<uint32_t> inline_caches_; DISALLOW_COPY_AND_ASSIGN(ProfilingInfoBuilder); |