v8/test/mjsunit/mjsunit.status
mythria e7373f4285 [Interpreter] Allocates new temporary register outside the reservation for consecutive registers.
Consecutive registers are allocated in two passes. First we "reserve"
a set of registers and these get allocated when we actually use them.
If we request for a temporary register before we use all the consecutive
registers, the earlier implementation does not gaurantee that it allocates
outside the reservation for consecutive registers. This could cause problems
for example, in call_func(a, b++, c). This cl fixes
TemporaryRegisterScope::NewRegister, to return a new temporary register
outside the reservation for consecutive registers.

BUG=v8:4280
LOG=N

Review URL: https://codereview.chromium.org/1531273002

Cr-Commit-Position: refs/heads/master@{#33005}
2015-12-22 09:26:25 +00:00

1103 lines
42 KiB
Plaintext

# Copyright 2012 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, {
# All tests in the bug directory are expected to fail.
'bugs/*': [FAIL],
##############################################################################
# Fails.
'regress/regress-1119': [FAIL],
# Issue 1719: Slow to collect arrays over several contexts.
'regress/regress-524': [SKIP],
# When that bug is fixed, revert the expectation to:
# Skip long running test in debug and allow it to timeout in release mode.
# regress/regress-524: [PASS, TIMEOUT, ['mode == debug', SKIP]],
# This test non-deterministically runs out of memory on Windows ia32.
'regress/regress-crbug-160010': [SKIP],
# Issue 3389: deopt_every_n_garbage_collections is unsafe
'regress/regress-2653': [SKIP],
# Issue 3784: setters-on-elements is flaky
'setters-on-elements': [PASS, FAIL],
##############################################################################
# TurboFan compiler failures.
# TODO(verwaest): Some tests are over-restrictive about object layout.
'array-constructor-feedback': [PASS, NO_VARIANTS],
'array-feedback': [PASS, NO_VARIANTS],
'compare-known-objects-slow': [PASS, NO_VARIANTS],
'elements-kind': [PASS, NO_VARIANTS],
'opt-elements-kind': [PASS, NO_VARIANTS],
'smi-representation': [PASS, NO_VARIANTS],
# Some tests are just too slow to run for now.
'big-object-literal': [PASS, NO_VARIANTS],
'bit-not': [PASS, NO_VARIANTS],
'json2': [PASS, NO_VARIANTS],
'packed-elements': [PASS, NO_VARIANTS],
'string-indexof-1': [PASS, NO_VARIANTS],
'unbox-double-arrays': [PASS, NO_VARIANTS],
'unicode-test': [PASS, NO_VARIANTS],
'whitespaces': [PASS, NO_VARIANTS],
'compiler/osr-assert': [PASS, NO_VARIANTS],
'es6/string-fromcodepoint': [PASS, NO_VARIANTS],
'regress/regress-2185-2': [PASS, NO_VARIANTS],
'regress/regress-2612': [PASS, NO_VARIANTS],
# Modules are busted
'harmony/module-linking': [SKIP],
'harmony/module-recompile': [SKIP],
'harmony/module-resolution': [SKIP],
'harmony/regress/regress-343928': [SKIP],
# Proxy tests rely on non ES6 version of Proxies
# TODO(neis,cbruni): figure out which Proxy tests can be reused
'harmony/proxies-example-membrane': [SKIP],
'strong/load-proxy': [SKIP],
# Issue 3660: Replacing activated TurboFan frames by unoptimized code does
# not work, but we expect it to not crash.
'debug-step-turbofan': [PASS, FAIL],
# TODO(mstarzinger): Optimizing top-level code revealed some issues. Fix!
'bitops-info': [PASS, NO_VARIANTS], # fails on ARM hardware.
'md5': [PASS, NO_VARIANTS], # fails on ARM hardware.
'debug-break-inline': [PASS, NO_VARIANTS], # very flaky.
'debug-compile-event-newfunction': [PASS, NO_VARIANTS],
'debug-conditional-breakpoints': [PASS, NO_VARIANTS],
'debug-evaluate-locals-optimized': [PASS, NO_VARIANTS],
'debug-evaluate-locals-optimized-double': [PASS, NO_VARIANTS],
'debug-evaluate-recursive': [PASS, NO_VARIANTS], # only in no-snap debug.
'debug-ignore-breakpoints': [PASS, NO_VARIANTS], # only in no-snap debug.
'debug-setbreakpoint': [PASS, NO_VARIANTS], # only in no-snap debug.
'debug-step': [PASS, NO_VARIANTS], # windows only.
'debug-step-2': [PASS, NO_VARIANTS], # flaky in no-snap mode.
'debug-step-3': [PASS, NO_VARIANTS], # flaky in no-snap mode.
'debug-stepframe-clearing': [PASS, NO_VARIANTS], # only in no-snap debug.
'debug-stepin-call-function-stub': [PASS, NO_VARIANTS], # only in no-snap debug.
'debug-stepin-positions': [PASS, NO_VARIANTS], # only due to inlining.
'regress/regress-3717': [PASS, NO_VARIANTS], # only in no-snap mode.
'regress/regress-2451': [PASS, NO_VARIANTS], # with custom snapshot and gc-stress.
'debug-multiple-breakpoints': [PASS, NO_VARIANTS], # with custom snapshot and gc-stress.
'debug-listbreakpoints': [PASS, NO_VARIANTS], # arm64 nosnap with turbofan
'debug-enable-disable-breakpoints': [PASS, NO_VARIANTS], #arm64 nosnap with turbofan.
# Issue 4035: unexpected frame->context() in debugger
'regress/regress-crbug-107996': [PASS, NO_VARIANTS],
'regress/regress-crbug-171715': [PASS, NO_VARIANTS],
'regress/regress-crbug-222893': [PASS, NO_VARIANTS],
'regress/regress-crbug-323936': [PASS, NO_VARIANTS],
'regress/regress-crbug-491943': [PASS, NO_VARIANTS],
'regress/regress-325676': [PASS, NO_VARIANTS],
'debug-evaluate-closure': [PASS, NO_VARIANTS],
'debug-evaluate-with': [PASS, NO_VARIANTS],
# TODO(mstarzinger): Optimizing top-level code flushed out some correctness
# issues on ARM and ARM64.
'es6/math-log2-log10': [PASS, NO_VARIANTS], # on ARM and ARM64.
'mirror-script': [PASS, NO_VARIANTS], # on ARM64 only.
# TODO(jarin/mstarzinger): Investigate debugger issues with TurboFan.
'debug-evaluate-const': [PASS, NO_VARIANTS],
'debug-evaluate-locals': [PASS, NO_VARIANTS],
'debug-evaluate-locals-capturing': [PASS, NO_VARIANTS],
'debug-liveedit-check-stack': [PASS, NO_VARIANTS], # only in no-snap mode.
'debug-liveedit-double-call': [PASS, NO_VARIANTS],
'debug-set-variable-value': [PASS, NO_VARIANTS],
'debug-stepout-scope-part1': [PASS, NO_VARIANTS],
'debug-stepout-scope-part2': [PASS, NO_VARIANTS],
'debug-stepout-scope-part3': [PASS, NO_VARIANTS],
'es6/debug-evaluate-blockscopes': [PASS, NO_VARIANTS],
# Issue 4055: Scope chain length observed by debugger is off.
'es6/generators-debug-scopes': [PASS, NO_VARIANTS],
# TODO(titzer): --always-opt incorrectly disables CrankShaft soft deopt points
'result-table-min': [PASS, NO_VARIANTS],
'result-table-max': [PASS, NO_VARIANTS],
# TODO(titzer): too slow in --turbo mode due to O(n^2) graph verification.
'regress/regress-1122': [PASS, NO_VARIANTS],
# TODO(sigurds): Tests that may fail because of missing deopt support.
'compiler/escape-analysis-1': [PASS, NO_VARIANTS],
'compiler/escape-analysis-2': [PASS, NO_VARIANTS],
'compiler/escape-analysis-3': [PASS, NO_VARIANTS],
'compiler/escape-analysis-4': [PASS, NO_VARIANTS],
'compiler/escape-analysis-5': [PASS, NO_VARIANTS],
'compiler/escape-analysis-6': [PASS, NO_VARIANTS],
'compiler/escape-analysis-7': [PASS, NO_VARIANTS],
'compiler/escape-analysis-9': [PASS, NO_VARIANTS],
'compiler/escape-analysis-10': [PASS, NO_VARIANTS],
# TODO(sigurds): Tests that fail because of incomplete use handling (i.e. select).
'compiler/escape-analysis-8': [PASS, NO_VARIANTS],
# Assumptions about optimization need investigation in TurboFan.
'regress-sync-optimized-lists': [PASS, NO_VARIANTS],
# issue 4078:
'allocation-site-info': [PASS, NO_VARIANTS],
# Native WASM is not yet enabled by default.
'wasm/*': [SKIP],
##############################################################################
# Too slow in debug mode with --stress-opt mode.
'compiler/regress-stacktrace-methods': [PASS, ['mode == debug', SKIP]],
'compiler/regress-funcaller': [PASS, ['mode == debug', SKIP]],
'regress/regress-2318': [PASS, ['mode == debug', SKIP]],
'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]],
##############################################################################
# Too slow in debug mode for validation of elements.
'regress/regress-430201': [PASS, ['mode == debug', SKIP]],
'regress/regress-430201b': [PASS, ['mode == debug', SKIP]],
##############################################################################
# Too slow in debug mode for GC stress mode.
'regress/regress-crbug-217858': [PASS, ['mode == debug', SKIP]],
# Too slow in debug mode and under turbofan.
'regress/regress-4595': [PASS, NO_VARIANTS, ['mode == debug', SKIP]],
##############################################################################
# Only RegExp stuff tested, no need for extensive optimizing compiler tests.
'regexp-global': [PASS, NO_VARIANTS],
'third_party/regexp-pcre/regexp-pcre': [PASS, NO_VARIANTS],
##############################################################################
# No need to waste time for this test.
'd8-performance-now': [PASS, NO_VARIANTS],
'regress/regress-crbug-491062': [PASS, NO_VARIANTS],
# Issue 488: this test sometimes times out.
'array-constructor': [PASS, TIMEOUT],
# Issue 4413: this test sometimes times out with TSAN because we trigger
# the slow path in C++ with holey arrays in Function.prototype.apply.
# TODO(bmeurer): Add fast support for holey arrays in apply.
'apply': [PASS, TIMEOUT],
# Very slow on ARM and MIPS, contains no architecture dependent code.
'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips64 or arch == mips', TIMEOUT]],
'regress/regress-3976': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips64 or arch == mips', SKIP]],
'regress/regress-crbug-482998': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips', SKIP]],
##############################################################################
# This test expects to reach a certain recursion depth, which may not work
# for debug mode.
'json-recursive': [PASS, ['mode == debug', PASS, FAIL]],
##############################################################################
# Skip long running tests that time out in debug mode.
'generated-transition-stub': [PASS, ['mode == debug', SKIP]],
'migrations': [SKIP],
'array-functions-prototype-misc': [PASS, SLOW, ['mode == debug', SKIP]],
##############################################################################
# This test sets the umask on a per-process basis and hence cannot be
# used in multi-threaded runs.
# On android there is no /tmp directory.
# Currently d8-os generates a temporary directory name using Math.random(), so
# we cannot run several variants of d8-os simultaneously, since all of them
# get the same random seed and would generate the same directory name. Besides
# that, it doesn't make sense to run several variants of d8-os anyways.
'd8-os': [PASS, NO_VARIANTS, ['isolates or arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
'tools/tickprocessor': [PASS, NO_VARIANTS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
##############################################################################
# Long running test that reproduces memory leak and should be run manually.
'regress/regress-2073': [SKIP],
##############################################################################
# Tests verifying CHECK and ASSERT.
'verify-check-false': [FAIL, NO_VARIANTS],
'verify-assert-false': [NO_VARIANTS, ['mode == release and dcheck_always_on == False', PASS], ['mode == debug or dcheck_always_on == True', FAIL]],
##############################################################################
# Tests with different versions for release and debug.
'compiler/alloc-number': [PASS, ['mode == debug', SKIP]],
'compiler/alloc-number-debug': [PASS, ['mode == release', SKIP]],
'regress/regress-634': [PASS, ['mode == debug', SKIP]],
'regress/regress-634-debug': [PASS, ['mode == release', SKIP]],
# BUG(336820). TODO(bmeurer): Investigate.
'regress/regress-336820': [PASS, FAIL],
# BUG(v8:2989). PASS/FAIL on linux32 because crankshaft is turned off for
# nosse2. Also for arm novfp3.
'regress/regress-2989': [FAIL, NO_VARIANTS, ['system == linux and arch == x87 or arch == arm and simulator == True', PASS]],
# Skip endain dependent test for mips due to different typed views of the same
# array buffer.
'nans': [PASS, ],
# This test variant makes only sense on arm.
'math-floor-of-div-nosudiv': [PASS, SLOW, ['arch not in [arm, arm64, android_arm, android_arm64]', SKIP]],
# Too slow for slow variants.
'asm/embenchen/*': [PASS, SLOW, FAST_VARIANTS],
'asm/poppler/*': [PASS, SLOW, FAST_VARIANTS],
'asm/sqlite3/*': [PASS, SLOW, FAST_VARIANTS],
# BUG(v8:3838).
'regress/regress-3116': [PASS, ['isolates', FLAKY]],
# BUG(v8:4458). TODO(mvstanton): reenable the test once --vector-stores is
# prermanently enabled.
'call-counts': [SKIP],
# BUG(chromium:508074). Remove this once the issue is fixed.
'harmony/arrow-rest-params': [PASS, NO_VARIANTS],
'harmony/rest-params': [PASS, ['no_snap == True', NO_VARIANTS]],
# Slow tests.
'copy-on-write-assert': [PASS, SLOW],
'debug-scopes': [PASS, SLOW],
'es7/object-observe': [PASS, ['mode == debug', SLOW]],
'numops-fuzz-part*': [PASS, ['mode == debug', SLOW]],
'readonly': [PASS, SLOW],
'regress/regress-1200351': [PASS, ['mode == debug', SLOW]],
'regress/regress-crbug-474297': [PASS, ['mode == debug', SLOW]],
'strong/implicit-conversions': [PASS, SLOW],
'strong/load-element-mutate-backing-store': [PASS, SLOW],
}], # ALWAYS
['novfp3 == True', {
'asm/embenchen/box2d': [SKIP],
'asm/embenchen/zlib': [SKIP],
'asm/embenchen/memops': [SKIP],
'asm/embenchen/lua_binarytrees': [SKIP],
}], # novfp3 == True
##############################################################################
['gc_stress == True', {
# Skip tests not suitable for GC stress.
'allocation-site-info': [SKIP],
'array-constructor-feedback': [SKIP],
'array-feedback': [SKIP],
'array-literal-feedback': [SKIP],
'd8-performance-now': [SKIP],
'elements-kind': [SKIP],
'elements-transition-hoisting': [SKIP],
'fast-prototype': [SKIP],
'field-type-tracking': [SKIP],
'getters-on-elements': [SKIP],
'es6/block-let-crankshaft': [SKIP],
'opt-elements-kind': [SKIP],
'osr-elements-kind': [SKIP],
'regress/regress-crbug-137689': [SKIP],
'regress/regress-165637': [SKIP],
'regress/regress-2249': [SKIP],
'regress/regress-4121': [SKIP],
'compare-known-objects-slow': [SKIP],
# Tests taking too long
'debug-stepout-scope-part8': [SKIP],
'mirror-object': [SKIP],
'packed-elements': [SKIP],
'regress/regress-1122': [SKIP],
'regress/regress-331444': [SKIP],
'regress/regress-353551': [SKIP],
'regress/regress-crbug-119926': [SKIP],
'regress/short-circuit': [SKIP],
'stack-traces-overflow': [SKIP],
'unicode-test': [SKIP],
'whitespaces': [SKIP],
# TODO(mstarzinger): Takes too long with TF.
'array-sort': [PASS, NO_VARIANTS],
'regress/regress-91008': [PASS, NO_VARIANTS],
'regress/regress-417709a': [PASS, ['arch == arm64', NO_VARIANTS]],
'regress/regress-transcendental': [PASS, ['arch == arm64', NO_VARIANTS]],
'compiler/osr-regress-max-locals': [PASS, NO_VARIANTS],
'math-floor-of-div': [PASS, NO_VARIANTS],
'unicodelctest': [PASS, NO_VARIANTS],
'unicodelctest-no-optimization': [PASS, NO_VARIANTS],
# TODO(jkummerow): Doesn't work correctly in GC stress.
'regress/regress-crbug-500497': [SKIP],
# Too slow for gc stress.
'asm/embenchen/box2d': [SKIP],
# Issue 3723.
'regress/regress-3717': [SKIP],
# BUG(v8:4237)
'regress/regress-3976': [SKIP],
# BUG(v8:4359)
'strong/load-proxy': [SKIP],
# Slow tests.
'array-constructor': [PASS, SLOW],
'json': [PASS, SLOW],
'regress/regress-446389': [PASS, SLOW],
'regress/regress-inline-getter-near-stack-limit': [PASS, SLOW],
# BUG(v8:3097)
'debug-references': [SKIP],
}], # 'gc_stress == True'
##############################################################################
['no_i18n == True and mode == debug', {
# Tests too slow for no18n debug.
'regress/regress-1200351': [SKIP],
}], # 'no_i18n == True and mode == debug'
##############################################################################
['byteorder == big', {
# Emscripten requires little-endian, skip all tests on big endian platforms.
'asm/embenchen/*': [SKIP],
'asm/poppler/*': [SKIP],
'asm/sqlite3/*': [SKIP],
}], # 'byteorder == big'
##############################################################################
['arch == arm64 or arch == android_arm64', {
# arm64 TF timeout.
'regress/regress-1257': [PASS, TIMEOUT],
# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run. However, the problem test covers
# should be platform-independent.
'regress/regress-1132': [SKIP],
# Pass but take too long to run. Skip.
# Some similar tests (with fewer iterations) may be included in arm64-js
# tests.
'asm/embenchen/box2d': [SKIP],
'asm/embenchen/lua_binarytrees': [SKIP],
'big-object-literal': [SKIP],
'compiler/regress-arguments': [SKIP],
'compiler/regress-gvn': [SKIP],
'compiler/regress-max-locals-for-osr': [SKIP],
'compiler/regress-4': [SKIP],
'compiler/regress-or': [SKIP],
'compiler/regress-rep-change': [SKIP],
'regress/regress-1117': [SKIP],
'regress/regress-1145': [SKIP],
'regress/regress-1849': [SKIP],
'regress/regress-3247124': [SKIP],
'regress/regress-634': [SKIP],
'regress/regress-91008': [SKIP],
'regress/regress-91010': [SKIP],
'regress/regress-91013': [SKIP],
'regress/regress-99167': [SKIP],
# BUG(v8:3457).
'deserialize-reference': [PASS, FAIL],
# BUG(v8:4016)
'regress/regress-crbug-467047': [SKIP],
# Slow tests.
'array-concat': [PASS, SLOW],
'array-constructor': [PASS, SLOW],
'array-indexing': [PASS, SLOW],
'array-reduce': [PASS, SLOW],
'array-sort': [PASS, SLOW],
'array-splice': [PASS, SLOW],
'bit-not': [PASS, SLOW],
'compiler/alloc-number': [PASS, SLOW],
'compiler/osr-assert': [PASS, SLOW],
'compiler/osr-with-args': [PASS, SLOW],
'debug-scopes': [PASS, SLOW],
'generated-transition-stub': [PASS, SLOW],
'json2': [PASS, SLOW],
'math-floor-of-div-nosudiv': [PASS, SLOW],
'math-floor-of-div': [PASS, SLOW],
'mirror-object': [PASS, SLOW],
'packed-elements': [PASS, SLOW],
'regress/regress-1122': [PASS, SLOW],
'regress/regress-2185-2': [PASS, SLOW],
'regress/regress-2185': [PASS, SLOW],
'regress/regress-2790': [PASS, SLOW],
'regress/regress-331444': [PASS, SLOW],
'regress/regress-490': [PASS, SLOW],
'regress/regress-crbug-217858': [PASS, SLOW],
'regress/regress-create-exception': [PASS, SLOW],
'regress/regress-json-stringify-gc': [PASS, SLOW],
'string-indexof-2': [PASS, SLOW],
'unicodelctest-no-optimization': [PASS, SLOW],
'unicodelctest': [PASS, SLOW],
'unicode-test': [PASS, SLOW],
'whitespaces': [PASS, TIMEOUT, SLOW],
}], # 'arch == arm64'
['arch == arm64 and mode == debug and simulator_run == True', {
# Pass but take too long with the simulator in debug mode.
'array-iterate-backwards': [PASS, TIMEOUT],
'array-sort': [PASS, TIMEOUT],
'packed-elements': [SKIP],
'regexp-global': [SKIP],
'compiler/alloc-numbers': [SKIP],
'harmony/symbols': [SKIP],
'math-floor-of-div': [PASS, TIMEOUT],
'math-floor-of-div-nosudiv': [PASS, TIMEOUT],
'unicodelctest': [PASS, TIMEOUT],
'unicodelctest-no-optimization': [PASS, TIMEOUT],
# Issue 3219:
'getters-on-elements': [PASS, ['gc_stress == True', FAIL]],
}], # 'arch == arm64 and mode == debug and simulator_run == True'
##############################################################################
['asan == True', {
# Skip tests not suitable for ASAN.
'big-array-literal': [SKIP],
'big-object-literal': [SKIP],
'regress/regress-crbug-178790': [SKIP],
# Exception thrown during bootstrapping on ASAN builds, see issue 4236.
'regress/regress-1132': [SKIP],
}], # 'asan == True'
##############################################################################
['msan == True', {
# Skip tests not suitable for MSAN.
'big-array-literal': [SKIP],
# ICU upstream issues.
'date': [SKIP],
'deep-recursion': [SKIP],
'regress/regress-builtinbust-7': [SKIP],
'string-localecompare': [SKIP],
}], # 'msan == True'
##############################################################################
['arch == arm or arch == android_arm', {
# Slow tests which times out in debug mode.
'try': [PASS, ['mode == debug', SKIP]],
'debug-scripts-request': [PASS, ['mode == debug', SKIP]],
'array-constructor': [PASS, ['mode == debug', SKIP]],
'regress/regress-1122': [PASS, SLOW, ['mode == debug and arch == android_arm', SKIP]],
# Flaky test that can hit compilation-time stack overflow in debug mode.
'unicode-test': [PASS, ['mode == debug', PASS, FAIL]],
# Times out often in release mode on ARM.
'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]],
'array-splice': [PASS, TIMEOUT],
# Long running tests. Skipping because having them timeout takes too long on
# the buildbot.
'big-object-literal': [SKIP],
'compiler/alloc-number': [SKIP],
'regress/regress-490': [SKIP],
'regress/regress-634': [SKIP],
'regress/regress-create-exception': [SKIP],
'regress/regress-3247124': [SKIP],
# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run. However, the problem test covers
# should be platform-independent.
'regress/regress-1132': [SKIP],
# Currently always deopt on minus zero
'math-floor-of-div-minus-zero': [SKIP],
# Slow tests.
'array-sort': [PASS, SLOW],
'compiler/osr-with-args': [PASS, SLOW],
'mirror-object': [PASS, SLOW],
'packed-elements': [PASS, SLOW],
'regress/regress-2185-2': [PASS, SLOW],
'regress/regress-2790': [PASS, SLOW],
'regress/regress-91008': [PASS, SLOW],
'regress/regress-json-stringify-gc': [PASS, SLOW],
'string-indexof-2': [PASS, TIMEOUT],
}], # 'arch == arm or arch == android_arm'
##############################################################################
['arch == mipsel or arch == mips', {
# Slow tests which times out in debug mode.
'try': [PASS, ['mode == debug', SKIP]],
'debug-scripts-request': [PASS, ['mode == debug', SKIP]],
'array-constructor': [PASS, ['mode == debug', SKIP]],
# Times out often in release mode on MIPS.
'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]],
'array-splice': [PASS, TIMEOUT],
# Long running test.
'mirror-object': [PASS, TIMEOUT],
'string-indexof-2': [PASS, TIMEOUT],
# Long running tests. Skipping because having them timeout takes too long on
# the buildbot.
'compiler/alloc-number': [SKIP],
'regress/regress-490': [SKIP],
'regress/regress-634': [SKIP],
'regress/regress-create-exception': [SKIP],
'regress/regress-3247124': [SKIP],
# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run. However, the problem test covers
# should be platform-independent.
'regress/regress-1132': [SKIP],
# Currently always deopt on minus zero
'math-floor-of-div-minus-zero': [SKIP],
}], # 'arch == mipsel or arch == mips'
##############################################################################
['arch == mips', {
# Flaky with TF.
'mirror-script': [PASS, NO_VARIANTS],
}], # 'arch == mips'
##############################################################################
['arch == x87', {
# Turbofan will hit the known issue that x87 changes sNaN to qNaN by default.
'regress/regress-undefined-nan': [SKIP],
}], # 'arch == x87'
##############################################################################
['arch == mips64el or arch == mips64', {
# Slow tests which times out in debug mode.
'try': [PASS, ['mode == debug', SKIP]],
'debug-scripts-request': [PASS, ['mode == debug', SKIP]],
'array-constructor': [PASS, ['mode == debug', SKIP]],
# Times out often in release mode on MIPS.
'compiler/regress-stacktrace-methods': [PASS, PASS, ['mode == release', TIMEOUT]],
'array-splice': [PASS, TIMEOUT],
# Long running test.
'mirror-object': [PASS, TIMEOUT],
'string-indexof-2': [PASS, TIMEOUT],
# BUG(3251035): Timeouts in long looping crankshaft optimization
# tests. Skipping because having them timeout takes too long on the
# buildbot.
'compiler/alloc-number': [PASS, SLOW],
'compiler/array-length': [PASS, SLOW],
'compiler/assignment-deopt': [PASS, SLOW],
'compiler/deopt-args': [PASS, SLOW],
'compiler/inline-compare': [PASS, SLOW],
'compiler/inline-global-access': [PASS, SLOW],
'compiler/optimized-function-calls': [PASS, SLOW],
'compiler/pic': [PASS, SLOW],
'compiler/property-calls': [PASS, SLOW],
'compiler/recursive-deopt': [PASS, SLOW],
'compiler/regress-4': [PASS, SLOW],
'compiler/regress-funcaller': [PASS, SLOW],
'compiler/regress-rep-change': [PASS, SLOW],
'compiler/regress-arguments': [PASS, SLOW],
'compiler/regress-funarguments': [PASS, SLOW],
'compiler/regress-3249650': [PASS, SLOW],
'compiler/simple-deopt': [PASS, SLOW],
'regress/regress-490': [PASS, SLOW],
'regress/regress-634': [PASS, SLOW],
'regress/regress-create-exception': [PASS, SLOW],
'regress/regress-3218915': [PASS, SLOW],
'regress/regress-3247124': [PASS, SLOW],
# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run. However, the problem test covers
# should be platform-independent.
'regress/regress-1132': [SKIP],
# Currently always deopt on minus zero
'math-floor-of-div-minus-zero': [SKIP],
}], # 'arch == mips64el or arch == mips64'
##############################################################################
['system == windows', {
# TODO(mstarzinger): Too slow with turbo fan.
'big-object-literal': [PASS, ['mode == debug', SKIP]],
'math-floor-of-div': [PASS, ['mode == debug', SKIP]],
'math-floor-of-div-nosudiv': [PASS, ['mode == debug', SKIP]],
'osr-regress-max-locals': [PASS, ['mode == debug', SKIP]],
'unicodelctest': [PASS, ['mode == debug', SKIP]],
# BUG(v8:3435)
'debug-script-breakpoints': [PASS, FAIL],
# BUG(v8:4495).
'es6/collections': [PASS, ['arch == ia32', FAST_VARIANTS]],
}], # 'system == windows'
##############################################################################
# Native Client uses the ARM simulator so will behave similarly to arm
# on mjsunit tests.
# TODO(bradchen): enable more tests for NaCl V8 when it stops using
# the ARM simulator.
##############################################################################
['arch == nacl_ia32 or arch == nacl_x64', {
# There is no /tmp directory for NaCl runs
'd8-os': [SKIP],
# Stack manipulations in LiveEdit is not implemented for this arch.
'debug-liveedit-check-stack': [SKIP],
'debug-liveedit-stack-padding': [SKIP],
'debug-liveedit-restart-frame': [SKIP],
'debug-liveedit-double-call': [SKIP],
'harmony/generators-debug-liveedit': [SKIP],
# NaCl builds have problems with this test since Pepper_28.
# V8 Issue 2786
'math-exp-precision': [SKIP],
# Requires bigger stack size in the Genesis and if stack size is increased,
# the test requires too much time to run. However, the problem test covers
# should be platform-independent.
'regress/regress-1132': [SKIP],
# Poor performance for NaCl V8 causes an assertion failure for this test.
'regress/regress-165637': [SKIP],
# Skip long running test that times out in debug mode and goes OOM on NaCl.
'regress/regress-crbug-160010': [SKIP],
# Skip tests that timout with turbofan.
'regress/regress-1257': [PASS, NO_VARIANTS],
'regress/regress-2618': [PASS, NO_VARIANTS],
'regress/regress-298269': [PASS, NO_VARIANTS],
'regress/regress-634': [PASS, NO_VARIANTS],
'regress/regress-91008': [PASS, NO_VARIANTS],
'compiler/osr-alignment': [PASS, NO_VARIANTS],
'compiler/osr-one': [PASS, NO_VARIANTS],
'compiler/osr-two': [PASS, NO_VARIANTS],
'stack-traces-overflow': [PASS, NO_VARIANTS],
'mirror-object': [PASS, NO_VARIANTS],
# Bug(v8:2978).
'lithium/MathExp': [PASS, FAIL],
# Lead to OOM:
'string-oom-*': [SKIP],
# Crashes.
'harmony/private': [SKIP],
'harmony/symbols': [SKIP],
}], # 'arch == nacl_ia32 or arch == nacl_x64'
##############################################################################
['deopt_fuzzer == True', {
# Skip tests that are not suitable for deoptimization fuzzing.
'assert-opt-and-deopt': [SKIP],
'never-optimize': [SKIP],
'regress/regress-2185-2': [SKIP],
'readonly': [SKIP],
'array-feedback': [SKIP],
# Bounds check triggers forced deopt for array constructors.
'array-constructor-feedback': [SKIP],
# Deopting uses just enough memory to make this one OOM.
'regress/regress-3976': [SKIP],
# Deopt every n garbage collections collides with deopt every n times.
'regress/regress-2653': [SKIP],
}], # 'deopt_fuzzer == True'
##############################################################################
['predictable == True', {
# Skip tests that are known to be non-deterministic.
'd8-worker-sharedarraybuffer': [SKIP],
}], # 'predictable == True'
##############################################################################
['arch == ppc and simulator_run == True or arch == ppc64 and simulator_run == True', {
# take too long with the simulator.
'regress/regress-1132': [SKIP],
}], # 'arch == ppc and simulator_run == True'
['ignition == True', {
'asm/*': [SKIP],
'compiler/*': [SKIP],
'const*': [SKIP],
'debug-*': [SKIP],
'es6/*': [SKIP],
'es7/*': [SKIP],
'strong/*': [SKIP],
'harmony/*': [SKIP],
'regress/debug*': [SKIP],
'regress/regress-debug*': [SKIP],
'allocation-folding': [SKIP],
'api-call-after-bypassed-exception': [SKIP],
'apply-arguments-gc-safepoint': [SKIP],
'arguments-load-across-eval': [SKIP],
'arguments-read-and-assignment': [SKIP],
'array-bounds-check-removal': [SKIP],
'array-constructor': [SKIP],
'array-elements-from-array-prototype-chain': [SKIP],
'array-functions-prototype-misc': [SKIP],
'array-join': [SKIP],
'array-length-number-conversion': [SKIP],
'array-literal-feedback': [SKIP],
'array-literal-transitions': [SKIP],
'array-reduce': [SKIP],
'array-tostring': [SKIP],
'assert-opt-and-deopt': [SKIP],
'big-array-literal': [SKIP],
'break': [SKIP],
'call-runtime-tail': [SKIP],
'context-calls-maintained': [SKIP],
'contextual-calls': [SKIP],
'cross-realm-filtering': [SKIP],
'cyclic-array-to-string': [SKIP],
'd8-worker-sharedarraybuffer': [SKIP],
'deopt-minus-zero': [SKIP],
'deopt-with-fp-regs': [SKIP],
'deserialize-script-id': [SKIP],
'div-mul-minus-one': [SKIP],
'double-equals': [SKIP],
'double-intrinsics': [SKIP],
'elements-transition-hoisting': [SKIP],
'eval-enclosing-function-name': [SKIP],
'eval-stack-trace': [SKIP],
'fast-prototype': [SKIP],
'for-in-special-cases': [SKIP],
'function-call': [SKIP],
'get-caller-js-function': [SKIP],
'get-prototype-of': [SKIP],
'getter-in-prototype': [SKIP],
'getters-on-elements': [SKIP],
'global-hash': [SKIP],
'global-load-from-eval-in-with': [SKIP],
'global-vars-with': [SKIP],
'instanceof-2': [SKIP],
'json': [SKIP],
'json-replacer-number-wrapper-tostring': [SKIP],
'json-replacer-order': [SKIP],
'math-floor-of-div-minus-zero': [SKIP],
'math-min-max': [SKIP],
'messages': [SKIP],
'mirror-object': [SKIP],
'numops-fuzz-part1': [SKIP],
'numops-fuzz-part2': [SKIP],
'numops-fuzz-part3': [SKIP],
'numops-fuzz-part4': [SKIP],
'object-literal-gc': [SKIP],
'osr-elements-kind': [SKIP],
'property-load-across-eval': [SKIP],
'proto-accessor': [SKIP],
'readonly': [SKIP],
'regress-3225': [SKIP],
'regress/clear-keyed-call': [SKIP],
'regress/regress-102153': [SKIP],
'regress/regress-1079': [SKIP],
'regress/regress-109195': [SKIP],
'regress/regress-1114040': [SKIP],
'regress/regress-1125': [SKIP],
'regress/regress-1129': [SKIP],
'regress/regress-117409': [SKIP],
'regress/regress-1177809': [SKIP],
'regress/regress-119609': [SKIP],
'regress/regress-1209': [SKIP],
'regress/regress-124594': [SKIP],
'regress/regress-124': [SKIP],
'regress/regress-125515': [SKIP],
'regress/regress-128018': [SKIP],
'regress/regress-131994': [SKIP],
'regress/regress-133211b': [SKIP],
'regress/regress-1365': [SKIP],
'regress/regress-1369': [SKIP],
'regress/regress-1403': [SKIP],
'regress/regress-1412': [SKIP],
'regress/regress-1436': [SKIP],
'regress/regress-1493017': [SKIP],
'regress/regress-1523': [SKIP],
'regress/regress-1560': [SKIP],
'regress/regress-1586': [SKIP],
'regress/regress-1639-2': [SKIP],
'regress/regress-1639': [SKIP],
'regress/regress-166553': [SKIP],
'regress/regress-1708': [SKIP],
'regress/regress-1757': [SKIP],
'regress/regress-1790': [SKIP],
'regress/regress-1980': [SKIP],
'regress/regress-2054': [SKIP],
'regress/regress-2071': [SKIP],
'regress/regress-2132': [SKIP],
'regress/regress-2163': [SKIP],
'regress/regress-2318': [SKIP],
'regress/regress-2339': [SKIP],
'regress/regress-2374': [SKIP],
'regress/regress-2444': [SKIP],
'regress/regress-2593': [SKIP],
'regress/regress-2594': [SKIP],
'regress/regress-2618': [SKIP],
'regress/regress-263': [SKIP],
'regress/regress-265': [SKIP],
'regress/regress-269': [SKIP],
'regress/regress-2790': [SKIP],
'regress/regress-2825': [SKIP],
'regress/regress-286': [SKIP],
'regress/regress-298269': [SKIP],
'regress/regress-3135': [SKIP],
'regress/regress-3176': [SKIP],
'regress/regress-318420': [SKIP],
'regress/regress-320532': [SKIP],
'regress/regress-3281': [SKIP],
'regress/regress-331444': [SKIP],
'regress/regress-343609': [SKIP],
'regress/regress-347530': [SKIP],
'regress/regress-347914': [SKIP],
'regress/regress-352982': [SKIP],
'regress/regress-354357': [SKIP],
'regress/regress-356053': [SKIP],
'regress/regress-357105': [SKIP],
'regress/regress-361025': [SKIP],
'regress/regress-3621': [SKIP],
'regress/regress-365172-3': [SKIP],
'regress/regress-370827': [SKIP],
'regress/regress-3709': [SKIP],
'regress/regress-377290': [SKIP],
'regress/regress-385565': [SKIP],
'regress/regress-3859': [SKIP],
'regress/regress-3884': [SKIP],
'regress/regress-3926': [SKIP],
'regress/regress-3960': [SKIP],
'regress/regress-3969': [SKIP],
'regress/regress-4023': [SKIP],
'regress/regress-4027': [SKIP],
'regress/regress-403292': [SKIP],
'regress/regress-410912': [SKIP],
'regress/regress-4121': [SKIP],
'regress/regress-419663': [SKIP],
'regress/regress-4255-4': [SKIP],
'regress/regress-430201': [SKIP],
'regress/regress-430201b': [SKIP],
'regress/regress-4309-3': [SKIP],
'regress/regress-4320': [SKIP],
'regress/regress-4325': [SKIP],
'regress/regress-436893': [SKIP],
'regress/regress-4374': [SKIP],
'regress/regress-4388': [SKIP],
'regress/regress-444805': [SKIP],
'regress/regress-446389': [SKIP],
'regress/regress-447756': [SKIP],
'regress/regress-4515': [SKIP],
'regress/regress-4521': [SKIP],
'regress/regress-4525': [SKIP],
'regress/regress-453481': [SKIP],
'regress/regress-4534': [SKIP],
'regress/regress-454725': [SKIP],
'regress/regress-470804': [SKIP],
'regress/regress-476488': [SKIP],
'regress/regress-491536': [SKIP],
'regress/regress-514362': [SKIP],
'regress/regress-520029': [SKIP],
'regress/regress-542099': [SKIP],
'regress/regress-542100': [SKIP],
'regress/regress-580': [SKIP],
'regress/regress-618': [SKIP],
'regress/regress-643': [SKIP],
'regress/regress-69': [SKIP],
'regress/regress-70066': [SKIP],
'regress/regress-747': [SKIP],
'regress/regress-753': [SKIP],
'regress/regress-806473': [SKIP],
'regress/regress-842017': [SKIP],
'regress/regress-84234': [SKIP],
'regress/regress-88858': [SKIP],
'regress/regress-94425': [SKIP],
'regress/regress-94873': [SKIP],
'regress/regress-95485': [SKIP],
'regress/regress-97116b': [SKIP],
'regress/regress-97116': [SKIP],
'regress/regress-974': [SKIP],
'regress/regress-99167': [SKIP],
'regress/regress-998565': [SKIP],
'regress/regress-arguments-gc': [SKIP],
'regress/regress-assignment-in-test-context': [SKIP],
'regress/regress-cnlt-elements': [SKIP],
'regress/regress-cnlt-enum-indices': [SKIP],
'regress/regress-cntl-descriptors-enum': [SKIP],
'regress/regress-conditional-position': [SKIP],
'regress/regress-convert-enum': [SKIP],
'regress/regress-crbug-119800': [SKIP],
'regress/regress-crbug-135008': [SKIP],
'regress/regress-crbug-229923': [SKIP],
'regress/regress-crbug-242502': [SKIP],
'regress/regress-crbug-242924': [SKIP],
'regress/regress-crbug-245480': [SKIP],
'regress/regress-crbug-350864': [SKIP],
'regress/regress-crbug-351262': [SKIP],
'regress/regress-crbug-352058': [SKIP],
'regress/regress-353551': [SKIP],
'regress/regress-crbug-357137': [SKIP],
'regress/regress-crbug-385002': [SKIP],
'regress/regress-crbug-387599': [SKIP],
'regress/regress-crbug-405922': [SKIP],
'regress/regress-crbug-409614': [SKIP],
'regress/regress-crbug-410033': [SKIP],
'regress/regress-crbug-412208': [SKIP],
'regress/regress-crbug-416558': [SKIP],
'regress/regress-crbug-424142': [SKIP],
'regress/regress-crbug-431602': [SKIP],
'regress/regress-crbug-432493': [SKIP],
'regress/regress-crbug-450642': [SKIP],
'regress/regress-crbug-465298': [SKIP],
'regress/regress-crbug-467180': [SKIP],
'regress/regress-crbug-467531': [SKIP],
'regress/regress-crbug-474297': [SKIP],
'regress/regress-crbug-480819': [SKIP],
'regress/regress-crbug-481896': [SKIP],
'regress/regress-crbug-485548-1': [SKIP],
'regress/regress-crbug-485548-2': [SKIP],
'regress/regress-crbug-487289': [SKIP],
'regress/regress-crbug-489293': [SKIP],
'regress/regress-crbug-489597': [SKIP],
'regress/regress-crbug-498142': [SKIP],
'regress/regress-crbug-500824': [SKIP],
'regress/regress-crbug-501809': [SKIP],
'regress/regress-crbug-506443': [SKIP],
'regress/regress-crbug-507070': [SKIP],
'regress/regress-crbug-527364': [SKIP],
'regress/regress-crbug-530598': [SKIP],
'regress/regress-crbug-546968': [SKIP],
'regress/regress-crbug-568477-1': [SKIP],
'regress/regress-crbug-568477-2': [SKIP],
'regress/regress-crbug-568477-3': [SKIP],
'regress/regress-crbug-568477-4': [SKIP],
'regress/regress-deopt-gcb': [SKIP],
'regress/regress-deopt-gc': [SKIP],
'regress/regress-deopt-in-array-literal-spread': [SKIP],
'regress/regress-embedded-cons-string': [SKIP],
'regress/regress-existing-shared-function-info': [SKIP],
'regress/regress-fast-literal-transition': [SKIP],
'regress/regress-function-constructor-receiver': [SKIP],
'regress/regress-handle-illegal-redeclaration': [SKIP],
'regress/regress-inline-class-constructor': [SKIP],
'regress/regress-inlining-function-literal-context': [SKIP],
'regress/regress-latin-1': [SKIP],
'regress/regress-lazy-deopt-reloc': [SKIP],
'regress/regress-map-invalidation-2': [SKIP],
'regress/regress-opt-after-debug-deopt': [SKIP],
'regress/regress-osr-in-case-label': [SKIP],
'regress/regress-osr-in-literal': [SKIP],
'regress/regress-param-local-type': [SKIP],
'regress/regress-prepare-break-while-recompile': [SKIP],
'regress/regress-put-prototype-transition': [SKIP],
'regress/regress-sliced-external-cons-regexp': [SKIP],
'regress/regress-transcendental': [SKIP],
'regress/regress-typedarray-length': [SKIP],
'regress/splice-missing-wb': [SKIP],
'shift-for-integer-div': [SKIP],
'simple-constructor': [SKIP],
'sin-cos': [SKIP],
'smi-mul-const': [SKIP],
'smi-mul': [SKIP],
'sparse-array-reverse': [SKIP],
'stack-traces': [SKIP],
'strict-mode': [SKIP],
'string-case': [SKIP],
'string-external-cached': [SKIP],
'string-externalize': [SKIP],
'string-natives': [SKIP],
'string-replace-with-empty': [SKIP],
'string-slices': [SKIP],
'switch-opt': [SKIP],
'tail-call-intrinsic': [SKIP],
'tools/profile': [SKIP],
'tools/profviz': [SKIP],
'try-finally-continue': [SKIP],
'try': [SKIP],
'unary-minus-deopt': [SKIP],
'undetectable-compare': [SKIP],
'unused-context-in-with': [SKIP],
'value-wrapper': [SKIP],
'with-parameter-access': [SKIP],
'with-prototype': [SKIP],
'with-readonly': [SKIP],
'regress/typed-array-lifetime': [SKIP],
'regress/regress-crbug-522895': [SKIP],
'regress/regress-crbug-455644': [SKIP],
'regress/regress-crbug-109362': [SKIP],
'regress/regress-crbug-429159': [SKIP],
'regress/regress-crbug-517592': [SKIP],
'regress/regress-crbug-405517': [SKIP],
'regress/regress-799761': [SKIP],
'regress/regress-503565': [SKIP],
'regress/regress-568765': [SKIP],
'regress/regress-3138': [SKIP],
'regress/regress-220': [SKIP],
'regress/regress-1170187': [SKIP],
'regress/regress-1030466': [SKIP],
'regress/regress-1853': [SKIP],
'with-value': [SKIP],
'with-function-expression': [SKIP],
'switch': [SKIP],
'receiver-in-with-calls': [SKIP],
'local-load-from-eval': [SKIP],
'deserialize-optimize-inner': [SKIP],
'delete-in-with': [SKIP],
}], # ignition == True
['ignition == True and (arch == arm or arch == arm64)', {
'array-sort': [SKIP],
'date-parse': [SKIP],
'math-floor-part1': [SKIP],
'math-floor-part2': [SKIP],
'math-floor-part3': [SKIP],
'mul-exhaustive-part*': [SKIP],
'regress/regress-1167': [SKIP],
'regress/regress-1257': [SKIP],
'regress/regress-165637': [SKIP],
'regress/regress-2249': [SKIP],
'regress/regress-319722-ArrayBuffer': [SKIP],
'regress/regress-411210': [SKIP],
'regress/regress-542823': [SKIP],
'regress/regress-634-debug': [SKIP],
'regress/regress-78270': [SKIP],
'regress/regress-91008': [SKIP],
'regress/regress-crbug-347903': [SKIP],
'regress/regress-crbug-500497': [SKIP],
'regress/regress-crbug-505007-1': [SKIP],
'regress/regress-crbug-505007-2': [SKIP],
'regress/short-circuit': [SKIP],
'stack-traces-overflow': [SKIP],
'unicodelctest': [SKIP],
'unicodelctest-no-optimization': [SKIP],
}], # ignition == True and (arch == arm or arch == arm64)
##############################################################################
['gcov_coverage', {
# Tests taking too long.
'array-functions-prototype-misc': [SKIP],
'strong/implicit-conversions': [SKIP],
'strong/load-element-mutate-backing-store': [SKIP],
}], # 'gcov_coverage'
]