Reland: [Turboprop] Turboprop is the future.

Enable --turboprop in the --future config.

BUG=v8:9684

Change-Id: I1a419b64eaa59c1425b8327c9c3e2cfde9e099a7
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3038530
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75825}
This commit is contained in:
Ross McIlroy 2021-07-20 17:59:15 +01:00 committed by V8 LUCI CQ
parent e335c01dc8
commit cdbd66954e
4 changed files with 53 additions and 15 deletions

View File

@ -480,8 +480,6 @@ DEFINE_BOOL(future, FUTURE_BOOL,
"Implies all staged features that we want to ship in the "
"not-too-far future")
DEFINE_WEAK_IMPLICATION(future, finalize_streaming_on_background)
DEFINE_WEAK_IMPLICATION(future, super_ic)
DEFINE_WEAK_IMPLICATION(future, turbo_inline_js_wasm_calls)
#if ENABLE_SPARKPLUG
DEFINE_WEAK_IMPLICATION(future, sparkplug)
@ -489,6 +487,7 @@ DEFINE_WEAK_IMPLICATION(future, sparkplug)
#if V8_SHORT_BUILTIN_CALLS
DEFINE_WEAK_IMPLICATION(future, short_builtin_calls)
#endif
DEFINE_WEAK_IMPLICATION(future, turboprop)
// Flags for jitless
DEFINE_BOOL(jitless, V8_LITE_BOOL,
@ -631,7 +630,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_WEAK_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,

View File

@ -531,4 +531,10 @@
'regress/regress-crbug-1195927': [SKIP],
}], # third_party_heap
##############################################################################
['variant == turboprop or variant == turboprop_as_toptier or variant == future or (tsan and not concurrent_marking)', {
'cpu-profiler/coverage-block': [SKIP],
}], # variant == turboprop or variant = turboprop_as_toptier
]

View File

@ -1279,7 +1279,7 @@
}],
##############################################################################
['variant == turboprop or variant == turboprop_as_toptier', {
['variant == turboprop or variant == turboprop_as_toptier or variant == future or (tsan and not concurrent_marking)', {
# Deopts differently than TurboFan.
'compiler/native-context-specialization-hole-check': [SKIP],
'compiler/number-comparison-truncations': [SKIP],
@ -1327,19 +1327,54 @@
'field-type-tracking': [SKIP],
# Tests failing for the lack of function context specialization in Turboprop.
'compiler/abstract-equal-receiver': [FAIL],
'compiler/constant-fold-cow-array': [FAIL],
'compiler/promise-resolve-stable-maps': [FAIL],
'compiler/abstract-equal-receiver': [SKIP],
'compiler/constant-fold-cow-array': [SKIP],
'compiler/promise-resolve-stable-maps': [SKIP],
# Tests failing due to reduced constant propagation in Turboprop.
'compiler/js-create-arguments': [FAIL],
'compiler/catch-block-load': [FAIL],
'compiler/construct-bound-function': [FAIL],
'compiler/construct-object': [FAIL],
'compiler/construct-receiver': [FAIL],
'compiler/js-create': [FAIL],
'compiler/js-create-arguments': [SKIP],
'compiler/catch-block-load': [SKIP],
'compiler/construct-bound-function': [SKIP],
'compiler/construct-object': [SKIP],
'compiler/construct-receiver': [SKIP],
'compiler/js-create': [SKIP],
# Incompatible flags that both weakly imply interrupt_budget.
'regress/regress-1220974': [SKIP],
'compiler/regress-1224277': [SKIP],
}], # variant == turboprop or variant = turboprop_as_toptier
##############################################################################
['variant == stress_concurrent_inlining', {
# Incompatible flags that both weakly imply interrupt_budget.
'regress/regress-1225561': [SKIP],
'regress/regress-1201114': [SKIP],
'regress/regress-1172797': [SKIP],
'regress/regress-1163715': [SKIP],
'regress/regress-1084953': [SKIP],
'regress/regress-1083763': [SKIP],
'regress/regress-1076569': [SKIP],
'es6/super-ic-opt-dynamic-map-checks': [SKIP],
'compiler/test-dynamic-map-checks-wrong-handler': [SKIP],
'compiler/test-dynamic-map-checks-poly-mono': [SKIP],
'compiler/test-dynamic-map-check-deprecated-maps': [SKIP],
'compiler/test-dynamic-map-check-deprecated-maps2': [SKIP],
'compiler/test-dynamic-map-check-deprecated-maps3': [SKIP],
'compiler/test-dynamic-map-checks-wrong-handler1': [SKIP],
'compiler/test-dynamic-map-check-deprecated-maps-polymorphic': [SKIP],
'compiler/test-dynamic-map-checks': [SKIP],
'compiler/regress-1226988': [SKIP],
'regress/regress-1223733': [SKIP],
'regress/regress-1154961': [SKIP],
'regress/regress-1137979': [SKIP],
'regress/regress-1138075': [SKIP],
'regress/regress-1083272': [SKIP],
'regress/regress-1079446': [SKIP],
'regress/regress-1138611': [SKIP],
'const-field-tracking-2': [SKIP],
}], # variant == stress_concurrent_inlining
##############################################################################
['variant == top_level_await', {
# specifically expects to fail on top level await.

View File

@ -70,8 +70,6 @@ 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"],