summaryrefslogtreecommitdiff
path: root/compiler/optimizing/profiling_info_builder.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2024-01-29 14:24:31 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2024-01-30 17:22:07 +0000
commit33e9f1a70d5f58639b524f40bf39a8e233c04ba8 (patch)
treef78d2949cac297400c0854ef57a4190f77d28e1b /compiler/optimizing/profiling_info_builder.h
parent516020a3fbfe3db43f7faf0ac3daf5a45dbeeb6b (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.h10
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);