v8/test/wasm-spec-tests/wasm-spec-tests.status
Jakob Gruber 3c422d1c5e [snapshot] Clear reconstructable data prior to d8 stress_snapshot run
The serializer currently cannot handle a heap state containing
arbitrary compiled Code objects. As a quick fix for the
--stress-snapshot d8 flag, we clear compiled data from the isolate
prior to the serialize-deserialize-verify pass.

With this change, mjsunit tests pass on x64.

The %SerializeDeserializeNow() runtime function would require more
work, since it is not possible to mutate the heap to this extent while
still preserving a runnable host context and isolate. We will need
another solution there.

Drive-by: Skip the stress_snapshot variant except for the mjsunit
suite.

Tbr: machenbach@chromium.org
Bug: v8:10493,v8:10416
Change-Id: Ie110da8b51613fcd69c7f391d3cf8589d6b04dd8
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2182429
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67585}
2020-05-06 07:11:22 +00:00

108 lines
4.3 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, {
#TODO(ahaas): Add additional stack checks on mips.
'skip-stack-guard-page': [PASS, ['arch == mipsel or arch == mips64el or ((arch == ppc or arch == ppc64 or arch == s390 or arch == s390x) and simulator_run)', SKIP]],
# TODO(v8:9144): The MVP behavior when bounds-checking segments changed in
# the bulk-memory proposal. Since we've enabled bulk-memory by default, we
# need to update to use its testsuite.
'linking': [FAIL],
'binary-leb128': [FAIL],
'elem': [FAIL],
'data': [FAIL],
# TODO(wasm): Roll newest tests into "js-types" repository.
'proposals/js-types/exports': [FAIL],
'proposals/js-types/globals': [FAIL],
'proposals/js-types/linking': [FAIL],
# TODO(wasm): This test declares a table larger than allowed by the spec.
'table': [FAIL],
'proposals/reference-types/table': [FAIL],
}], # ALWAYS
['arch == mipsel or arch == mips64el or arch == mips or arch == mips64', {
# These tests fail because mips does not support the correct NaN bit patterns.
'float_misc': [SKIP],
'float_exprs': [SKIP],
'f32': [SKIP],
'f64': [SKIP],
'f32_bitwise': [SKIP],
'f64_bitwise': [SKIP],
'proposals/reference-types/conversions': [SKIP],
'proposals/bulk-memory-operations/conversions': [SKIP],
'proposals/js-types/f32': [SKIP],
'proposals/js-types/f64': [SKIP],
'proposals/js-types/f32_bitwise': [SKIP],
'proposals/js-types/f64_bitwise': [SKIP],
'proposals/js-types/float_exprs': [SKIP],
'proposals/js-types/float_misc': [SKIP],
'proposals/js-types/conversions': [SKIP],
'proposals/JS-BigInt-integration/f32': [SKIP],
'proposals/JS-BigInt-integration/f64': [SKIP],
'proposals/bulk-memory-operations/f32': [SKIP],
'proposals/bulk-memory-operations/f64': [SKIP],
'proposals/reference-types/f32': [SKIP],
'proposals/reference-types/f64': [SKIP],
'proposals/JS-BigInt-integration/float_misc': [SKIP],
'proposals/bulk-memory-operations/float_misc': [SKIP],
'proposals/reference-types/float_misc': [SKIP],
}], # 'arch == mipsel or arch == mips64el or arch == mips or arch == mips64'
['(arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simulator_run', {
# This test fail because mips does not support the correct NaN bit patterns.
# But it doesn't fail in simulator.
'conversions': [SKIP],
}], # '(arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simulator_run'
['arch == ppc or arch == ppc64', {
# These tests fail because ppc float min and max doesn't convert sNaN to qNaN.
'f32': [SKIP],
'f64': [SKIP],
'proposals/js-types/f32': [SKIP],
'proposals/js-types/f64': [SKIP],
'proposals/JS-BigInt-integration/f32': [SKIP],
'proposals/JS-BigInt-integration/f64': [SKIP],
'proposals/bulk-memory-operations/f32': [SKIP],
'proposals/bulk-memory-operations/f64': [SKIP],
'proposals/reference-types/f32': [SKIP],
'proposals/reference-types/f64': [SKIP],
# This test fails because ppc float to double doesn't convert sNaN to qNaN.
'conversions': [SKIP],
'proposals/js-types/conversions': [SKIP],
'proposals/JS-BigInt-integration/conversions': [SKIP],
'proposals/bulk-memory-operations/conversions': [SKIP],
'proposals/reference-types/conversions': [SKIP],
}], # 'arch == ppc or arch == ppc64'
['arch == s390 or arch == s390x', {
# These tests fail because s390 float min and max doesn't convert sNaN to qNaN.
'f32': [SKIP],
'f64': [SKIP],
'proposals/js-types/f32': [SKIP],
'proposals/js-types/f64': [SKIP],
'proposals/JS-BigInt-integration/f32': [SKIP],
'proposals/JS-BigInt-integration/f64': [SKIP],
'proposals/bulk-memory-operations/f32': [SKIP],
'proposals/bulk-memory-operations/f64': [SKIP],
'proposals/reference-types/f32': [SKIP],
'proposals/reference-types/f64': [SKIP],
}], # 'arch == s390 or arch == s390x'
##############################################################################
['lite_mode or variant == jitless', {
# TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
'*': [SKIP],
}], # lite_mode or variant == jitless
################################################################################
['variant == stress_snapshot', {
'*': [SKIP], # only relevant for mjsunit tests.
}],
]