e62a7f7697
This is a reland of 902f48bdda
, fixed
to avoid lock inversion problems detected by TSan.
Original change's description:
> [wasm][debug] Fix tier down for multiple isolates
>
> If multiple isolates are using the same module, we need to keep it
> tiered down as long as any isolate still has a debugger open.
> Also, we cannot short-cut the {NativeModule::TierDown} method, since the
> previously triggered tier down might not have finished yet.
> For now, each isolate starts an independent tier down (i.e. a full
> recompilation). We could optimize this later by skipping functions that
> are already tiered down, or are already scheduled for tier down, but we
> still need to wait for tier-down to finish on each isolate.
>
> R=thibaudm@chromium.org
>
> Bug: v8:10359
> Change-Id: I7ea6a6f5d3977e48718ac5bc94f9831541f6173f
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2190758
> Commit-Queue: Clemens Backes <clemensb@chromium.org>
> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#67716}
Bug: v8:10359
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel
Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
Change-Id: Ie98cf073fc79e5c6991df6d4466de7b560274070
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2194451
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: Thibaud Michaud <thibaudm@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67754}
161 lines
6.2 KiB
Plaintext
161 lines
6.2 KiB
Plaintext
# Copyright 2016 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
[
|
|
[ALWAYS, {
|
|
# All tests in the bug directory are expected to fail.
|
|
'bugs/*': [FAIL],
|
|
|
|
# Issue 3660: Replacing activated TurboFan frames by unoptimized code does
|
|
# not work, but we expect it to not crash.
|
|
'debug/debug-step-turbofan': [PASS, FAIL],
|
|
|
|
# Issue 3641: The new 'then' semantics suppress some exceptions.
|
|
# These tests may be changed or removed when 'chain' is deprecated.
|
|
'debug/es6/debug-promises/reject-with-throw-in-reject': [FAIL],
|
|
'debug/es6/debug-promises/reject-with-undefined-reject': [FAIL],
|
|
'debug/es6/debug-promises/reject-with-invalid-reject': [FAIL],
|
|
|
|
# Issue 5651: Context mismatch in ScopeIterator::Type() for eval default
|
|
# parameter value (the test causes indexing a FixedArray out of bounds ->
|
|
# CRASH is also a reasonable outcome).
|
|
'debug/es6/debug-scope-default-param-with-eval': [FAIL, CRASH],
|
|
|
|
# Slow tests
|
|
'debug/debug-scopes': [PASS, SLOW],
|
|
'debug/debug-stepout-scope-part*': [PASS, SLOW],
|
|
'debug/ignition/debug-step-prefix-bytecodes': [PASS, SLOW, ['mode == debug', SKIP]],
|
|
|
|
# Too slow in debug mode and on slow platforms.
|
|
'regress/regress-2318': [PASS, SLOW, ['mode == debug or (arch != ia32 and arch != x64) or asan == True or msan == True', SKIP]],
|
|
|
|
# forcing weak callback in asan build change break order
|
|
'debug/debug-stepin-builtin-callback': [['asan == True or msan == True', SKIP]],
|
|
}], # ALWAYS
|
|
|
|
##############################################################################
|
|
['variant == stress', {
|
|
# TODO(turbofan): Functions with eval or debugger now get optimized
|
|
# with Turbofan, which has issues with the debugger issues.
|
|
'debug/debug-evaluate-locals': [FAIL],
|
|
|
|
# Very slow in stress mode.
|
|
'regress/regress-2318': [SKIP],
|
|
|
|
# Currently fails because breakpoint information is inconsistent after
|
|
# disabling and re-enabling the debugger (https://crbug.com/v8/10403).
|
|
'debug/wasm/debug-step-into-wasm': [SKIP],
|
|
}], # variant == stress
|
|
|
|
##############################################################################
|
|
['variant == stress and (arch == arm or arch == arm64) and simulator_run', {
|
|
# Slow tests: https://crbug.com/v8/7783
|
|
'debug/debug-stepout-scope-part*': [SKIP],
|
|
}], # variant == stress and (arch == arm or arch == arm64) and simulator_run
|
|
|
|
##############################################################################
|
|
['gc_stress == True', {
|
|
# Skip tests not suitable for GC stress.
|
|
# Tests taking too long
|
|
'debug/debug-stepout-scope-part*': [SKIP],
|
|
|
|
# Async function tests taking too long
|
|
# https://bugs.chromium.org/p/v8/issues/detail?id=5411
|
|
'debug/es8/async-debug-caught-exception-cases0': [SKIP],
|
|
'debug/es8/async-debug-caught-exception-cases1': [SKIP],
|
|
'debug/es8/async-debug-caught-exception-cases2': [SKIP],
|
|
'debug/es8/async-debug-caught-exception-cases3': [SKIP],
|
|
'debug/es8/async-function-debug-scopes': [SKIP],
|
|
|
|
# https://crbug.com/v8/8141
|
|
'debug/debug-liveedit-1': [SKIP],
|
|
'debug/debug-liveedit-double-call': [SKIP],
|
|
'debug/es6/debug-liveedit-new-target-3': [SKIP],
|
|
'debug/side-effect/debug-evaluate-no-side-effect-control': [SKIP],
|
|
}], # 'gc_stress == True'
|
|
|
|
##############################################################################
|
|
['gc_fuzzer', {
|
|
# Slow tests.
|
|
'regress/regress-2318': [SKIP],
|
|
}], # 'gc_fuzzer'
|
|
|
|
##############################################################################
|
|
['predictable == True', {
|
|
# https://crbug.com/v8/8147
|
|
'debug/debug-liveedit-*': [SKIP],
|
|
'debug/debug-set-variable-value': [SKIP],
|
|
|
|
# Rely on (blocking) concurrent compilation.
|
|
'debug/regress/regress-opt-after-debug-deopt': [SKIP],
|
|
'debug/regress/regress-prepare-break-while-recompile': [SKIP],
|
|
'regress/regress-7421': [SKIP],
|
|
}], # 'predictable == True'
|
|
|
|
##############################################################################
|
|
['variant == no_wasm_traps', {
|
|
'*': [SKIP],
|
|
}], # variant == no_wasm_traps
|
|
|
|
##############################################################################
|
|
['arch == arm and not simulator_run', {
|
|
# Too slow on chromebooks.
|
|
'debug/ignition/debug-step-prefix-bytecodes': [SKIP],
|
|
}], # 'arch == arm and not simulator_run'
|
|
|
|
##############################################################################
|
|
['arch == arm and mode == debug', {
|
|
# Tests taking too long
|
|
'debug/debug-stepout-scope-part1': [SKIP],
|
|
'debug/debug-stepout-scope-part2': [SKIP],
|
|
'debug/debug-stepout-scope-part3': [SKIP],
|
|
'debug/debug-stepout-scope-part4': [SKIP],
|
|
'debug/debug-stepout-scope-part5': [SKIP],
|
|
'debug/debug-stepout-scope-part6': [SKIP],
|
|
'debug/debug-stepout-scope-part7': [SKIP],
|
|
'debug/debug-stepout-scope-part8': [SKIP],
|
|
}], # 'arch == arm and mode == debug'
|
|
|
|
##############################################################################
|
|
['arch == s390 or arch == s390x', {
|
|
|
|
# Stack manipulations in LiveEdit is not implemented for this arch.
|
|
'debug/debug-liveedit-check-stack': [SKIP],
|
|
'debug/debug-liveedit-double-call': [SKIP],
|
|
'debug/debug-liveedit-restart-frame': [SKIP],
|
|
}], # 'arch == s390 or arch == s390x'
|
|
|
|
##############################################################################
|
|
['lite_mode or variant == jitless', {
|
|
# TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
|
|
'debug/wasm/*': [SKIP],
|
|
'regress/regress-crbug-840288': [SKIP],
|
|
'regress/regress-crbug-1032042': [SKIP],
|
|
'wasm-*': [SKIP],
|
|
}], # lite_mode or variant == jitless
|
|
|
|
##############################################################################
|
|
['variant == turboprop', {
|
|
# Deopts differently than TurboFan.
|
|
'debug/debug-optimize': [SKIP],
|
|
}], # variant == turboprop
|
|
|
|
##############################################################################
|
|
# Liftoff needs to be enabled before running these tests.
|
|
['arch in (s390, s390x, ppc, ppc64)', {
|
|
'regress/regress-crbug-1032042': [SKIP],
|
|
'regress/regress-crbug-840288': [SKIP],
|
|
'debug/wasm/asm-debug': [SKIP],
|
|
'debug/wasm/debug-enabled-tier-down-wasm': [SKIP],
|
|
'debug/wasm/debug-step-into-wasm': [SKIP],
|
|
'debug/wasm/frame-inspection': [SKIP],
|
|
}],
|
|
|
|
################################################################################
|
|
['variant == stress_snapshot', {
|
|
'*': [SKIP], # only relevant for mjsunit tests.
|
|
}],
|
|
|
|
]
|