Skip to content

Commit f22ca7b

Browse files
verwaestV8 LUCI CQ
authored andcommitted
[maglev] Cap inlining at MaxInliningId
Bug: 430572435 Change-Id: I4f20bad6c99e9d3d5a959cb801485dfb117e9884 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6732846 Commit-Queue: Toon Verwaest <[email protected]> Auto-Submit: Toon Verwaest <[email protected]> Reviewed-by: Olivier Flückiger <[email protected]> Cr-Commit-Position: refs/heads/main@{#101423}
1 parent 1058f2a commit f22ca7b

File tree

2 files changed

+9
-0
lines changed

2 files changed

+9
-0
lines changed

src/codegen/source-position.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ class SourcePosition final {
116116
value_ = InliningIdField::update(value_, inlining_id + 1);
117117
}
118118

119+
static constexpr int MaxInliningId() { return InliningIdField::kMax; }
120+
119121
static const int kNotInlined = -1;
120122
static_assert(kNoSourcePosition == -1);
121123

src/maglev/maglev-graph-builder.cc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8002,6 +8002,13 @@ ReduceResult MaglevGraphBuilder::BuildInlineFunction(
80028002

80038003
bool MaglevGraphBuilder::CanInlineCall(compiler::SharedFunctionInfoRef shared,
80048004
float call_frequency) {
8005+
if (static_cast<int>(graph()->inlined_functions().size()) >=
8006+
SourcePosition::MaxInliningId()) {
8007+
compilation_unit_->info()->set_could_not_inline_all_candidates();
8008+
TRACE_CANNOT_INLINE("maximum inlining ids");
8009+
return false;
8010+
}
8011+
80058012
if (graph()->total_inlined_bytecode_size() >
80068013
max_inlined_bytecode_size_cumulative()) {
80078014
compilation_unit_->info()->set_could_not_inline_all_candidates();

0 commit comments

Comments
 (0)