Commit 2114287c authored by Ross McIlroy's avatar Ross McIlroy Committed by V8 LUCI CQ

[Turboprop] Improve tierup heuristics for Turboprop

Slightly lowers the interrupt budget for Turboprop and increases the
interrupt budget scaling factor for TurboFan. This gives the best
balance between benchmark performance and reducing optimization
overhead.

BUG=v8:9684

Change-Id: I6d555fb27d089bc8a6849612a4e02b2155020d85
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3026713
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: 's avatarMythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75764}
parent 4e6aa976
......@@ -631,6 +631,7 @@ DEFINE_BOOL(
turboprop_as_toptier, false,
"enable experimental turboprop compiler without further tierup to turbofan")
DEFINE_IMPLICATION(turboprop_as_toptier, turboprop)
DEFINE_VALUE_IMPLICATION(turboprop, interrupt_budget, 115 * KB)
DEFINE_UINT_READONLY(max_minimorphic_map_checks, 4,
"max number of map checks to perform in minimorphic state")
DEFINE_INT(turboprop_inline_scaling_factor, 4,
......@@ -638,7 +639,7 @@ DEFINE_INT(turboprop_inline_scaling_factor, 4,
"TurboProp compared to TurboFan")
// The scale factor determines the interrupt budget when tiering up from
// Turboprop to TurboFan.
DEFINE_INT(interrupt_budget_scale_factor_for_top_tier, 5,
DEFINE_INT(interrupt_budget_scale_factor_for_top_tier, 20,
"scale factor for profiler ticks when tiering up from midtier")
// Flags for Sparkplug
......
......@@ -1037,7 +1037,7 @@
'compiler/serializer-transition-propagation': [SKIP],
'opt-elements-kind': [SKIP],
'regress/regress-trap-allocation-memento': [SKIP],
'regress/regrtoess-v8-9267-*': [SKIP],
'regress/regress-v8-9267-*': [SKIP],
'shared-function-tier-up-turbo': [SKIP],
# BUG(v8:11656) Skipped until we make progress on NumFuzz.
......
......@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Flags: --allow-natives-syntax --turboprop --no-analyze-environment-liveness
// Flags:--interrupt-budget=100
// Flags: --allow-natives-syntax --no-analyze-environment-liveness
// Flags: --interrupt-budget=100
var val = {};
try {
......
......@@ -69,6 +69,8 @@ INCOMPATIBLE_FLAGS_PER_VARIANT = {
"--liftoff-only"],
"sparkplug": ["--jitless"],
"always_sparkplug": ["--jitless"],
"turboprop": ["--interrupt-budget=*"],
"turboprop_as_toptier": ["--interrupt-budget=*"],
"code_serializer": ["--cache=after-execute", "--cache=full-code-cache",
"--cache=none"],
"experimental_regexp": ["--no-enable-experimental-regexp-engine"],
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment