v8/test
Simon Zünd 3896cdc25c Reland "[array] Use random middle element to determine pivot during sorting"
This is a reland of 91bab5588c

This CL contains two major changes w.r.t to the original CL:

The random state is removed from the Smi root list and we pre-seed the RNG
on each sort with the length of the array.

To cut down on the length of the arguments list and to keep track of the
random state across recursive calls, we move most of the sort arguments into
a FixedArray and reload from the array for each recursion.

Original change's description:
> [array] Use random middle element to determine pivot during sorting
>
> This CL adds a "random state" to the Smi Root list and implements a
> basic Linear congruential pseudo random number generator in Torque.
>
> The RNG is used to determine the pivot element for sorting. This will
> prevent the worst cases for certain data layouts.
>
> Drive-by-fix: Make sorting of ranges and execution pauses for profviz
> deterministic by adding a secondary sorting criteria.
>
> Bug: v8:7382
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: Ieb871e98e74bdb803f821b0cd35d2f67ee0f2868
> Reviewed-on: https://chromium-review.googlesource.com/1082193
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Camillo Bruni <cbruni@chromium.org>
> Commit-Queue: Simon Zünd <szuend@google.com>
> Cr-Commit-Position: refs/heads/master@{#53524}

Bug: v8:7382
Change-Id: Ia7bef7ed1c0e904ffe43bc428e702f64f9c6a60b
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1087888
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Simon Zünd <szuend@google.com>
Cr-Commit-Position: refs/heads/master@{#53583}
2018-06-07 13:33:14 +00:00
..
benchmarks Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
cctest Use EphemeronHashTable as backing store for JSWeakCollection 2018-06-07 09:04:37 +00:00
common [wasm] Make wasm::ValueType independent of the MachineRepresentation 2018-05-07 11:54:56 +00:00
debugger Revert "[sfi] Remove SFI function literal id field" 2018-06-07 09:21:27 +00:00
fuzzer [parsing] Remove most GetIsolate calls 2018-06-05 08:54:58 +00:00
inspector [inspector] decouple debugger delegate and async stacks delegate 2018-06-05 17:39:22 +00:00
intl Prevent throwing exceptions more than once during Locale construction. 2018-06-01 18:18:54 +00:00
js-perf-test [tests] Fix JSTests 2018-06-05 11:38:43 +00:00
memory Reland "[tools] Add benchmark owners to the config" 2018-05-16 13:53:49 +00:00
message Reland "[array] Implement Array.p.sort in Torque" 2018-06-05 08:33:18 +00:00
mjsunit Reland "[array] Use random middle element to determine pivot during sorting" 2018-06-07 13:33:14 +00:00
mkgrokdump Re-enable embedded builtins 2018-06-06 08:47:57 +00:00
mozilla [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
preparser Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
test262 Reland "[array] Use random middle element to determine pivot during sorting" 2018-06-07 13:33:14 +00:00
torque [torque] Fix int32 literals 2018-06-05 12:33:23 +00:00
unittests [heap] Refactoring heap growing strategy from Heap to HeapController class. 2018-06-07 12:38:34 +00:00
wasm-spec-tests [wasm] Update spec tests 2018-05-22 09:47:41 +00:00
webkit [test] Skip slow tests 2018-05-23 14:14:34 +00:00
BUILD.gn Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00