v8/test/js-perf-test
Simon Zünd 843b6646b1 Reland "[array] Move Array#sort pre-processing to Torque"
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}
2019-05-24 12:13:17 +00:00
..
Array [benchmarks] Move Array slice benchmarks to js-perf-test 2019-05-20 09:05:52 +00:00
ArrayIndexOfIncludesPolymorphic [js-perf-test] Add Array#{indexOf,includes} micro-benchmark 2018-10-31 07:55:24 +00:00
ArrayInOperator [test] Add perf test for in operator on arrays 2019-02-20 22:36:13 +00:00
ArrayLiteralInitialSpreadLargeDoubleHoley [js-perf-tests] Add micro-benchmarks for copying double arrays. 2018-10-15 15:05:21 +00:00
ArrayLiteralInitialSpreadLargeDoublePacked [js-perf-tests] Fix micro-benchmark of spreading double arrays. 2018-10-15 17:41:16 +00:00
ArrayLiteralInitialSpreadLargeHoley Remove slow ArrayLiteralInitialSpread benchmarks to avoid timeout. 2018-08-29 14:50:59 +00:00
ArrayLiteralInitialSpreadLargePacked [js-perf-tests] Fix micro-benchmark of spreading double arrays. 2018-10-15 17:41:16 +00:00
ArrayLiteralInitialSpreadLargeSmiMap [js-perf-test] Add micro-benchmarks for spreading maps and sets. 2018-10-10 08:32:15 +00:00
ArrayLiteralInitialSpreadLargeSmiSet [js-perf-test] Fix spread set benchmark. 2018-10-12 08:43:58 +00:00
ArrayLiteralInitialSpreadSmallDoubleHoley [js-perf-tests] Add micro-benchmarks for copying double arrays. 2018-10-15 15:05:21 +00:00
ArrayLiteralInitialSpreadSmallDoublePacked [js-perf-tests] Fix micro-benchmark of spreading double arrays. 2018-10-15 17:41:16 +00:00
ArrayLiteralInitialSpreadSmallHoley Enable warmup and/or longer runs for ArrayLiteralInitialSpread. 2018-08-27 08:40:46 +00:00
ArrayLiteralInitialSpreadSmallPacked Rename and fix JSON data for ArrayLiteralInitialSpread benchmarks. 2018-08-28 10:45:38 +00:00
ArrayLiteralInitialSpreadSmallSmiMap [js-perf-test] Add micro-benchmarks for spreading maps and sets. 2018-10-10 08:32:15 +00:00
ArrayLiteralInitialSpreadSmallSmiSet [js-perf-test] Fix spread set benchmark (again). 2018-10-12 10:50:59 +00:00
ArrayLiteralSpread [test] Add JSTest benchmark for array literal spread. 2018-01-23 05:39:30 +00:00
ArraySort Reland "[array] Move Array#sort pre-processing to Torque" 2019-05-24 12:13:17 +00:00
AsyncAwait Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
BigInt [js-perf-test] Add additional benchmarks for boolean constructor 2019-05-15 09:07:15 +00:00
BytecodeHandlers Call the right functions in bitwise bytecode handlers benchmarks. 2017-07-17 10:58:47 +00:00
Classes [js-perf-test] Add microbenchmarks for leaf constructors. 2017-08-08 05:25:31 +00:00
Closures [test] Add performance test for closures. 2016-12-05 13:10:44 +00:00
Collections [js-perf-test] Add more WeakMap perf tests 2019-03-25 10:47:29 +00:00
DataView [dataview] Improve JS performance test coverage for DataView 2018-07-03 09:06:24 +00:00
Dates [Intl] Add benchmark for toLocaleString/localeCompare 2018-11-07 18:08:16 +00:00
Exceptions Fixes for try-catch microbenchmark 2015-06-08 10:11:34 +00:00
ExpressionDepth [parser] Use n-ary addition for template strings 2017-10-31 16:02:53 +00:00
ForLoops [js-perf-test] add microbenchmarks for C-style for loops 2017-04-12 21:56:43 +00:00
Generators [esnext] Remove always-disabled support for function.sent 2018-02-26 20:01:41 +00:00
Inspector Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
Intl Add benchmark test for Intl.Locale 2019-05-15 16:58:28 +00:00
Iterators Use merged JSTest config for performance tests. 2014-12-05 08:43:19 +00:00
Keys reland [js-perf-test] Adding micro benchmarks for for-in and keys patterns. 2016-03-02 12:25:41 +00:00
ManyClosures [Test] Add %PrepareForOptimization in tests 2019-04-30 14:18:22 +00:00
Modules Replace %RunMicrotasks with %PerformMicrotaskCheckpoint 2018-12-06 11:10:18 +00:00
Numbers [Intl] Add benchmark for toLocaleString/localeCompare 2018-11-07 18:08:16 +00:00
Object [test] Add micro benchmark for Object.create 2016-09-28 08:14:21 +00:00
ObjectFreeze Add spread call micro-benchmark for frozen array 2019-05-15 15:59:42 +00:00
ObjectLiteralSpread Reland "Reland "[test] Add JSTest benchmark for object literal spread"" 2018-04-04 16:41:10 +00:00
Parsing [js-perf] Further reducing test-case size. 2018-08-30 11:41:30 +00:00
PropertyQueries [js-perf-tests] Fix PropertyQueries test for fast-delete 2017-05-05 15:57:36 +00:00
Proxies Fix JSTest/Proxies/Set.*Trap tests to return true from the trap 2019-02-11 16:03:35 +00:00
RegExp [Intl] Add perf tests for case insensitive test 2019-03-05 22:33:08 +00:00
RestParameters [elements] Rename FAST elements kinds 2017-06-30 13:31:44 +00:00
Scope For Micro-benchmarks for 'with' 2015-06-01 07:40:11 +00:00
SixSpeed [js-perf-tests] Add classes benchmarks from SixSpeed. 2017-04-19 11:23:48 +00:00
SpreadCalls [es6] implement spread calls 2015-04-09 19:37:19 +00:00
SpreadCallsGeneral Add warmup to SpreadCallsGeneral benchmarks. 2018-09-04 16:15:54 +00:00
StackTrace [Test] Add %PrepareForOptimization in tests 2019-04-30 14:18:22 +00:00
StringIterators Fix StringToList to set right length of the new array. 2018-10-24 13:30:51 +00:00
Strings [Intl] Add String toLocale(Lower|Upper)Case perf benchmark 2019-02-15 05:53:04 +00:00
Templates Perf tests for Template Literals 2014-12-12 05:14:28 +00:00
TurboFan [turbofan] Introduce a CheckStringAdd node instead of cons string lowering 2018-08-29 09:34:26 +00:00
TypedArrays [js-perf-test] Add TypedArray#filter micro-benchmark 2019-03-04 14:40:31 +00:00
base.js [test] Ensure random generator in JSTests does not use float arithmetic 2018-12-17 10:05:08 +00:00
JSTests1.json [js-perf-test] Add additional benchmarks for boolean constructor 2019-05-15 09:07:15 +00:00
JSTests2.json [benchmarks] Move Array slice benchmarks to js-perf-test 2019-05-20 09:05:52 +00:00
JSTests3.json [test] Remove duplicated traces from the JSTests3 config 2019-04-25 18:28:45 +00:00
JSTests4.json Increase timeout for JSTests/Array test and fix Michael's username 2019-04-16 12:24:10 +00:00
JSTests5.json [test] Add missing resources to the ObjectFreeze perf test 2019-05-23 18:19:41 +00:00
OWNERS Add Peter as an owner of the JSTests benchmark 2018-02-13 02:49:25 +00:00
RegExp.json [Intl] Add perf tests for case insensitive test 2019-03-05 22:33:08 +00:00
SixSpeed.json Increase timeout for JSTests/Array test and fix Michael's username 2019-04-16 12:24:10 +00:00