[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: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75764}
This commit is contained in:
Ross McIlroy 2021-07-16 15:16:42 +01:00 committed by V8 LUCI CQ
parent 4e6aa9767a
commit 2114287c47
4 changed files with 7 additions and 4 deletions

View File

@ -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

View File

@ -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.

View File

@ -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 {

View File

@ -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"],