current commit
261007.21 · deps: update V8 to 15.5.35.20
# Copyright 2008 the V8 project authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of Google Inc. nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

[
[ALWAYS, {
  # We don't parse RegExps at scanning time, so we can't fail on octal
  # escapes (we need to parse to distinguish octal escapes from valid
  # back-references).
  'strict-octal-regexp': [SKIP],

  # Modules which are only meant to be imported from by other tests, not to be
  # tested standalone.
  'fail/modules-skip*': [SKIP],

  # Tests that need to run sequentially (e.g. due to memory consumption).
  'fail/map-grow-failed': [PASS, HEAVY],
  'fail/set-grow-failed': [PASS, HEAVY],
  'wasm-trace-memory64*': [PASS, HEAVY],

  ##############################################################################
  # Behavioural differences between Maglev and Turbofan when the former is used
  # for OptimizeFunctionOnNextCall or as a frontend for Turboshaft.
  #
  # Maglev doesn't support inlining of Wasm code.
  'wasm-inlining-into-js': [SKIP],

}],  # ALWAYS

# Skip Liftoff tests on platforms that don't support Liftoff.
['arch != x64 and arch != ia32 and arch != arm64 and arch != arm and arch != s390x and arch != ppc64', {
  'wasm-trace-memory-liftoff': [SKIP],
  'wasm-trace-memory64-liftoff': [SKIP],
  'wasm-trace-liftoff': [SKIP],
  'wasm-trace-globals-liftoff': [SKIP],
}], # arch != x64 and arch != ia32 and arch != arm64 and arch != arm and arch != s390x

['variant == code_serializer', {
  # Code serializer output is incompatible with all message tests
  # because the same test is executed twice.
  '*': [SKIP],
}],  # variant == code_serializer

['not i18n', {
  'fail/list-format*': [SKIP],
  # Needs the StringPrototypeToLowerCaseIntl builtin.
  'wasm-recognize-imports': [SKIP],
}],  # not i18n

################################################################################
['mode == release', {
  # Slow tests in release mode.
  'fail/map-grow-failed': [PASS, SLOW],
  'fail/set-grow-failed': [PASS, SLOW],
}],

##############################################################################
# TODO(v8:7777): Change this once wasm is supported in jitless mode.
['not has_webassembly or (variant == jitless and not has_wasm_interpreter)', {
  'mjsunit/fail/assert-promise-result-wasm-compile-fail': [SKIP],
  'mjsunit/fail/assert-in-promise-fail-recursive': [FAIL],
  'fail/wasm-*': [SKIP],
  'wasm-*': [SKIP],
}],  # not has_webassembly or (variant == jitless and not has_wasm_interpreter)

##############################################################################
['has_wasm_interpreter and variant == jitless', {
  # Skip tests that require Wasm experimental features not supported by the
  # Wasm interpreter, or that explicitly require compilation.

  'wasm-debug-trace-minimal': [SKIP],

  # Tests that require compilation
  'fail/wasm-async-compile-fail': [SKIP],
  'js-wasm-wrapper-inlining-turbolev*': [SKIP],
  'wasm-compilation-hints-inlining-no-liftoff': [SKIP],
  'wasm-speculative-inlining': [SKIP],
  'wasm-trace-globals': [SKIP],
  'wasm-trace-turbofan': [SKIP],

  # --trace-wasm-memory
  'wasm-trace-memory64': [SKIP],
  'wasm-trace-memory': [SKIP], # also --wasm-memory64

  # Different error message
  'fail/wasm-async-instantiate-fail': [SKIP],

  # Tests using %WasmTierUpFunction()
  'wasm-trace-deopt-64': [SKIP],
}],  # has_webassembly and variant == jitless

################################################################################
['variant == stress_snapshot', {
  '*': [SKIP],  # only relevant for mjsunit tests.
}],

################################################################################
['arch == mips64el or arch == riscv64 or arch == loong64', {
  # Tests that require Simd enabled.
  'wasm-trace-memory': [SKIP],
  'wasm-trace-memory64': [SKIP],
}], # arch == mips64el or arch == riscv64 or arch == loong64

##############################################################################
['no_simd_hardware == True', {
  'wasm-trace-memory': [SKIP],
  'wasm-trace-memory-liftoff': [SKIP],
  'wasm-trace-memory64': [SKIP],
  'wasm-trace-memory64-liftoff': [SKIP],
  'wasm-trace-globals': [SKIP],
  'wasm-trace-globals-liftoff': [SKIP],
}],  # no_simd_hardware == True

##############################################################################
['not (arch == x64 and mode == release)', {
  # Only run these known slow tests on bots that we think to be reasonably
  # fast.
  'fail/map-grow-failed': [SKIP],
  'fail/set-grow-failed': [SKIP],
}],  # not (arch == x64 and mode == release)

##############################################################################
['arch == riscv32', {
  'wasm-trace-turbofan':[SKIP],
}],  # (arch == riscv32)

##############################################################################
# 32-bit platforms
['arch in (ia32, arm, riscv32)', {
  # Needs >4GB of available contiguous memory.
  'wasm-trace-memory64': [SKIP],
  'wasm-trace-memory64-liftoff': [SKIP],
}],  # 'arch in (ia32, arm, riscv32)'

##############################################################################
# The output for Turbolev wrapper inlining tests can be different with these
# variants.
['variant in (stress_concurrent_inlining, stress_incremental_marking, stress_concurrent_allocation, stress_js_bg_compile_wasm_code_gc)', {
  'js-wasm-wrapper-inlining-turbolev*': [SKIP],
}],  # variant in (stress_concurrent_inlining, stress_incremental_marking, stress_concurrent_allocation, stress_js_bg_compile_wasm_code_gc)

##############################################################################
# Tests that require optimizing compilers.
['variant in (jitless, nooptimization)', {
  'js-wasm-wrapper-inlining-turbolev*': [SKIP],
}],  # variant in (jitless, nooptimization)

##############################################################################
# On 32 bit platforms we have int64 lowering.
['(arch != x64 and arch != arm64) or no_simd_hardware', {
  'wasm-trace-deopt-64': [SKIP],
}],
['(arch != ia32 and arch != arm) or no_simd_hardware', {
  'wasm-trace-deopt-32': [SKIP],
}],

##############################################################################
# There are two sources of output differences between 32 and 64 bit platforms:
# First, on 32 bit platforms we can't inline JS-to-Wasm wrappers with i64 args,
# and second, the wrapper inlining tests also enable Wasm-into-JS body inlining,
# which is not supported on 32 bit platforms.
['arch != x64 and arch != arm64', {
  'js-wasm-wrapper-inlining-turbolev-64': [SKIP],
}],
['(arch != ia32 and arch != arm)', {
  'js-wasm-wrapper-inlining-turbolev-32': [SKIP],
}],

##############################################################################
['verify_predictable', {
  # https://crbug.com/v8/14397
  'wasm-finish-compilation': [PASS, FAIL],
}],  # 'verify_predictable'

##############################################################################
['dumpling', {
  # Unexpected output.
  'wasm-debug-trace-minimal': [FAIL],
}],

]