843b6646b1
This is a reland of 2b0ac2fb9f
The layout test that caused this revert was fixed with:
https://crrev.com/c/1627386
Original change's description:
> [array] Move Array#sort pre-processing to Torque
>
> This CL removes the "PrepareElementsForSort" runtime function, and
> replaces it with a simpler version in Torque. The biggest difference
> is that certain sparse configurations no longer have a fast-path.
>
> The Torque pre-processing step replaces the existing Torque mechanism that
> copied already pre-processed elements into the "work" FixedArray. The Torque
> compacting works as follows:
> - Iterate all elements from 0 to {length}
> - If the element is the hole: Do nothing.
> - If the element is "undefined": Increment undefined counter.
> - In all other cases, push the element into the "work" FixedArray.
>
> Then the "work" FixedArray is sorted as before. Writing the elements from
> the "work" array back into the receiver, after sorting, has three steps:
> 1. Copy the sorted elements from the "work" FixedArray to the receiver.
> 2. Add previously counted number of "undefined" to the receiver.
> 3. Depending on the backing store either delete properties or
> set them to the Hole up to {length}.
>
> Bug: v8:8714
> Change-Id: I14eccb7cfd2e4618bce2a85cba0689d7e0380ad2
> Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1619756
> Commit-Queue: Simon Zünd <szuend@chromium.org>
> Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#61812}
TBR: jgruber@chromium.org
Bug: v8:8714
Change-Id: If7613f6e5f37c5e0d649e8192195594bc6c32100
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627977
Commit-Queue: Simon Zünd <szuend@chromium.org>
Auto-Submit: Simon Zünd <szuend@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#61827}
146 lines
5.7 KiB
Plaintext
146 lines
5.7 KiB
Plaintext
# Copyright 2013 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, {
|
|
# Flaky tests.
|
|
# BUG(v8:2989).
|
|
'dfg-inline-arguments-become-double': [PASS, FAIL],
|
|
'dfg-inline-arguments-become-int32': [PASS, FAIL],
|
|
'dfg-inline-arguments-reset': [PASS, FAIL],
|
|
'dfg-inline-arguments-reset-changetype': [PASS, FAIL],
|
|
# Irregexp interpreter overflows stack. We should just not crash.
|
|
'fast/js/regexp-stack-overflow': [PASS, FAIL],
|
|
|
|
# This test tries to sort very large array. Array#sort pre-processing does
|
|
# not support huge sparse Arrays, so this test runs a very long time.
|
|
# https://crbug.com/v8/8714
|
|
'array-sort-small-sparse-array-with-large-length': [SKIP],
|
|
|
|
# Slow tests.
|
|
'dfg-double-vote-fuzz': [PASS, SLOW],
|
|
}], # ALWAYS
|
|
['system == windows', {
|
|
# Exceeds call stack on windows after MSVS2017 switch.
|
|
'fast/js/excessive-comma-usage': [SKIP],
|
|
}], # system == windows
|
|
['mode == debug', {
|
|
# Too slow in debug mode.
|
|
'dfg-int-overflow-in-loop': [SKIP],
|
|
'dfg-double-vote-fuzz': [SKIP],
|
|
'reentrant-caching': [SKIP],
|
|
'sort-large-array': [SKIP],
|
|
# Too slow with --enable-slow-asserts.
|
|
'array-iterate-backwards': [SKIP],
|
|
}], # 'mode == debug'
|
|
['simulator_run', {
|
|
# Skip tests that timeout with turbofan.
|
|
'array-iterate-backwards': [PASS, NO_VARIANTS],
|
|
'function-apply-aliased': [SKIP],
|
|
|
|
# Skip tests that are too slow for simulators.
|
|
'dfg-int-overflow-in-loop': [SKIP],
|
|
}], # 'simulator_run'
|
|
['mode == debug and simulator_run', {
|
|
# Too slow on debug simulators.
|
|
'dfg-inline-function-dot-caller': [SKIP],
|
|
}], # 'mode == debug and simulator_run'
|
|
['dcheck_always_on == True and (arch == arm or arch == arm64)', {
|
|
# Doesn't work with gcc 4.6 on arm or arm64 for some reason.
|
|
'reentrant-caching': [SKIP],
|
|
}], # 'dcheck_always_on == True and (arch == arm or arch == arm64)'
|
|
['arch == mips', {
|
|
# Too slow for mips big-endian boards on bots (no FPU).
|
|
'dfg-int-overflow-in-loop': [SKIP],
|
|
}], # 'arch == mips'
|
|
['arch == s390 or arch == s390x', {
|
|
# Too slow.
|
|
'dfg-int-overflow-in-loop': [SKIP],
|
|
}], # 'arch == s390 or arch == s390x'
|
|
|
|
##############################################################################
|
|
['asan == True', {
|
|
# Skip tests not suitable for ASAN.
|
|
'fast/js/excessive-comma-usage': [SKIP],
|
|
|
|
# BUG(v8:4499).
|
|
'run-json-stringify': [SKIP],
|
|
}], # 'asan == True'
|
|
|
|
##############################################################################
|
|
['isolates', {
|
|
# BUG(v8:4499).
|
|
'*': [SKIP],
|
|
}], # 'isolates'
|
|
|
|
##############################################################################
|
|
['gc_stress == True', {
|
|
# Tests taking too long
|
|
'fast/js/excessive-comma-usage': [SKIP]
|
|
}], # 'gc_stress == True'
|
|
|
|
['gc_stress == True and mode == debug', {
|
|
# Skip tests that timeout.
|
|
}], # 'gc_stress == True and mode == debug'
|
|
|
|
##############################################################################
|
|
['arch == arm64 and msan', {
|
|
# Stack size too large with masm on Arm64.
|
|
'fast/js/excessive-comma-usage': [SKIP],
|
|
}], # arch == arm64 and msan
|
|
|
|
##############################################################################
|
|
['variant in [nooptimization, stress, stress_js_bg_compile_wasm_code_gc] and (arch == arm or arch == arm64) and simulator_run', {
|
|
# Slow tests: https://crbug.com/v8/7783
|
|
'dfg-double-vote-fuzz': [SKIP],
|
|
}], # variant in [nooptimization, stress, stress_js_bg_compile_wasm_code_gc] and (arch == arm or arch == arm64) and simulator_run
|
|
|
|
##############################################################################
|
|
['gcov_coverage', {
|
|
# Tests taking too long or getting too large call stacks.
|
|
'fast/js/excessive-comma-usage': [SKIP],
|
|
'run-json-stringify': [SKIP],
|
|
}], # 'gcov_coverage'
|
|
|
|
##############################################################################
|
|
['variant == no_wasm_traps', {
|
|
'*': [SKIP],
|
|
}], # variant == no_wasm_traps
|
|
|
|
##############################################################################
|
|
['no_i18n == True', {
|
|
'fast/js/string-capitalization': [FAIL],
|
|
}], # variant == no_wasm_traps
|
|
|
|
##############################################################################
|
|
['variant == jitless and not embedded_builtins', {
|
|
'*': [SKIP],
|
|
}], # variant == jitless and not embedded_builtins
|
|
|
|
##############################################################################
|
|
]
|