diff options
author | Michaël Zasso <targos@protonmail.com> | 2018-09-07 17:07:13 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2018-09-07 20:59:13 +0200 |
commit | 586db2414a338e1bf6eaf6e672a3adc7ce309f6a (patch) | |
tree | 139fa972aef648481ddee22a3a85b99707d28df5 /deps/v8/test/js-perf-test/Array | |
parent | 12ed7c94e5160aa6d38e3d2cb2a73dae0a6f9342 (diff) | |
download | android-node-v8-586db2414a338e1bf6eaf6e672a3adc7ce309f6a.tar.gz android-node-v8-586db2414a338e1bf6eaf6e672a3adc7ce309f6a.tar.bz2 android-node-v8-586db2414a338e1bf6eaf6e672a3adc7ce309f6a.zip |
deps: update V8 to 6.9.427.22
PR-URL: https://github.com/nodejs/node/pull/21983
Reviewed-By: Refael Ackermann <refack@gmail.com>
Reviewed-By: Gus Caplan <me@gus.host>
Reviewed-By: Ujjwal Sharma <usharma1998@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Diffstat (limited to 'deps/v8/test/js-perf-test/Array')
-rw-r--r-- | deps/v8/test/js-perf-test/Array/from.js | 293 | ||||
-rw-r--r-- | deps/v8/test/js-perf-test/Array/join.js | 8 | ||||
-rw-r--r-- | deps/v8/test/js-perf-test/Array/of.js | 224 | ||||
-rw-r--r-- | deps/v8/test/js-perf-test/Array/run.js | 10 | ||||
-rw-r--r-- | deps/v8/test/js-perf-test/Array/slice.js | 83 | ||||
-rw-r--r-- | deps/v8/test/js-perf-test/Array/to-string.js | 9 |
6 files changed, 355 insertions, 272 deletions
diff --git a/deps/v8/test/js-perf-test/Array/from.js b/deps/v8/test/js-perf-test/Array/from.js index 2c6bd265bd..06e00a223e 100644 --- a/deps/v8/test/js-perf-test/Array/from.js +++ b/deps/v8/test/js-perf-test/Array/from.js @@ -3,151 +3,152 @@ // found in the LICENSE file. (() => { -benchy('MixedFrom', MixedFrom, MixedFromSetup); -benchy('SmiFrom', SmiFrom, SmiFromSetup); -benchy('SmallSmiFrom', SmallSmiFrom, SmallSmiFromSetup); -benchy('SmiNoMapFrom', SmiNoMapFrom, SmiNoMapFromSetup); -benchy('SmiNoIteratorFrom', SmiNoIteratorFrom, SmiNoIteratorFromSetup); -benchy('TransplantedFrom', TransplantedFrom, TransplantedFromSetup); -benchy('DoubleFrom', DoubleFrom, DoubleFromSetup); -benchy('StringFrom', StringFrom, StringFromSetup); -benchy('StringNoMapFrom', StringNoMapFrom, StringNoMapFromSetup); - -function ArrayLike() {} -ArrayLike.from = Array.from; - -var arg -var result; -var func - -var smi_array = [ - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, -]; - -var double_array = [ - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, -]; - -var string_array = [ - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", -]; - -var mixed_array = [ - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - 1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5,10.5, - 11.5,12.5,13.5,14.5,15.5,16.5,17.5,18.5,19.5,20.5, - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", - "a", "b", "c", "a", "b", "c", "a", "b", "c", "a", -] - -// Although these functions have the same code, they are separated for -// clean IC feedback. -function SmallSmiFrom() { - result = Array.from(arg, func); -} - -function SmiNoMapFrom() { - result = Array.from(arg); -} - -function SmiFrom() { - result = Array.from(arg, func); -} - -function SmiNoIteratorFrom() { - result = Array.from(arg, func); -} - -function TransplantedFrom() { - result = ArrayLike.from(arg, func); -} - -function DoubleFrom() { - result = Array.from(arg, func); -} - -function StringFrom() { - result = Array.from(arg, func); -} - -function StringNoMapFrom() { - result = Array.from(arg); -} - -function MixedFrom() { - result = Array.from(arg, func); -} - -function SmallSmiFromSetup() { - func = (v,i) => v + i; - arg = [1,2,3]; -} - -function SmiNoMapFromSetup() { - func = undefined; - arg = smi_array; -} - -function SmiFromSetup() { - func = (v,i) => v + i; - arg = smi_array; -} - -function SmiNoIteratorFromSetup() { - func = (v,i) => v + i; - array = smi_array; - arg = {length: array.length} - Object.assign(arg, array); -} - -function TransplantedFromSetup() { - func = (v,i) => v + i; - arg = smi_array; -} - -function DoubleFromSetup() { - func = (v,i) => v + i; - arg = double_array; -} - -function StringFromSetup() { - func = (v,i) => v + i; - arg = string_array; -} - -function StringNoMapFromSetup() { - func = undefined; - arg = string_array; -} - -function MixedFromSetup() { - func = (v,i) => v + i; - arg = mixed_array; -} + createSuite('MixedFrom', 1000, MixedFrom, MixedFromSetup); + createSuite('SmiFrom', 1000, SmiFrom, SmiFromSetup); + createSuite('SmallSmiFrom', 1000, SmallSmiFrom, SmallSmiFromSetup); + createSuite('SmiNoMapFrom', 1000, SmiNoMapFrom, SmiNoMapFromSetup); + createSuite( + 'SmiNoIteratorFrom', 1000, SmiNoIteratorFrom, SmiNoIteratorFromSetup); + createSuite( + 'TransplantedFrom', 1000, TransplantedFrom, TransplantedFromSetup); + createSuite('DoubleFrom', 1000, DoubleFrom, DoubleFromSetup); + createSuite('StringFrom', 1000, StringFrom, StringFromSetup); + createSuite('StringNoMapFrom', 1000, StringNoMapFrom, StringNoMapFromSetup); + + function ArrayLike() {} + ArrayLike.from = Array.from; + + var arg + var result; + var func + + var smi_array = [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + ]; + + var double_array = [ + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, // + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, // + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, // + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, // + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, // + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, + ]; + + var string_array = [ + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', + 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', + 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', + 'c', 'a', 'b', 'c', 'a', 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + ]; + + var mixed_array = [ + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, // + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, // + 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, + 11.5, 12.5, 13.5, 14.5, 15.5, 16.5, 17.5, 18.5, 19.5, 20.5, // + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + 'a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'a', + ]; + + // Although these functions have the same code, they are separated for + // clean IC feedback. + function SmallSmiFrom() { + result = Array.from(arg, func); + } + + function SmiNoMapFrom() { + result = Array.from(arg); + } + + function SmiFrom() { + result = Array.from(arg, func); + } + + function SmiNoIteratorFrom() { + result = Array.from(arg, func); + } + + function TransplantedFrom() { + result = ArrayLike.from(arg, func); + } + + function DoubleFrom() { + result = Array.from(arg, func); + } + + function StringFrom() { + result = Array.from(arg, func); + } + + function StringNoMapFrom() { + result = Array.from(arg); + } + + function MixedFrom() { + result = Array.from(arg, func); + } + + function SmallSmiFromSetup() { + func = (v, i) => v + i; + arg = [1, 2, 3]; + } + + function SmiNoMapFromSetup() { + func = undefined; + arg = smi_array; + } + + function SmiFromSetup() { + func = (v, i) => v + i; + arg = smi_array; + } + + function SmiNoIteratorFromSetup() { + func = (v, i) => v + i; + array = smi_array; + arg = {length: array.length}; + Object.assign(arg, array); + } + + function TransplantedFromSetup() { + func = (v, i) => v + i; + arg = smi_array; + } + + function DoubleFromSetup() { + func = (v, i) => v + i; + arg = double_array; + } + + function StringFromSetup() { + func = (v, i) => v + i; + arg = string_array; + } + + function StringNoMapFromSetup() { + func = undefined; + arg = string_array; + } + + function MixedFromSetup() { + func = (v, i) => v + i; + arg = mixed_array; + } })(); diff --git a/deps/v8/test/js-perf-test/Array/join.js b/deps/v8/test/js-perf-test/Array/join.js index ef9d298421..c9928e791d 100644 --- a/deps/v8/test/js-perf-test/Array/join.js +++ b/deps/v8/test/js-perf-test/Array/join.js @@ -11,10 +11,10 @@ function make_join() { return new Function('result = array.join();'); } -benchy('SmiJoin', make_join(), SmiJoinSetup); -benchy('StringJoin', make_join(), StringJoinSetup); -benchy('SparseSmiJoin', make_join(), SparseSmiJoinSetup); -benchy('SparseStringJoin', make_join(), SparseStringJoinSetup); +createSuite('SmiJoin', 1000, make_join(), SmiJoinSetup); +createSuite('StringJoin', 1000, make_join(), StringJoinSetup); +createSuite('SparseSmiJoin', 1000, make_join(), SparseSmiJoinSetup); +createSuite('SparseStringJoin', 1000, make_join(), SparseStringJoinSetup); function SmiJoinSetup() { array = new Array(); diff --git a/deps/v8/test/js-perf-test/Array/of.js b/deps/v8/test/js-perf-test/Array/of.js index bfd471245c..f876ce6f61 100644 --- a/deps/v8/test/js-perf-test/Array/of.js +++ b/deps/v8/test/js-perf-test/Array/of.js @@ -3,115 +3,119 @@ // found in the LICENSE file. (() => { -benchy('EmptyArrayOf', EmptyArrayOf, EmptyArrayOfSetup); -benchy('SmallTransplantedArrayOf', SmallTransplantedArrayOf, - SmallTransplantedArrayOfSetup); -benchy('SmallSmiArrayOf', SmallSmiArrayOf, SmallSmiArrayOfSetup); -benchy('LargeSmiArrayOf', LargeSmiArrayOf, LargeSmiArrayOfSetup); -benchy('SmallDoubleArrayOf', SmallDoubleArrayOf, SmallDoubleArrayOfSetup); -benchy('SmallStringArrayOf', SmallStringArrayOf, SmallStringArrayOfSetup); -benchy('SmallMixedArrayOf', SmallMixedArrayOf, SmallMixedArrayOfSetup); - -function ArrayLike() {} -ArrayLike.of = Array.of; - -var arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10 -var arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20 -var result; - -function EmptyArrayOf() { - result = Array.of(); -} - -function BaselineArray() { - result = [arg1, arg2, arg3]; -} - -function SmallSmiArrayOf() { - result = Array.of(arg1, arg2, arg3); -} - -function LargeSmiArrayOf() { - result = Array.of(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, - arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20); -} - -function SmallTransplantedArrayOf() { - result = ArrayLike.of(arg1, arg2, arg3); -} - -function SmallDoubleArrayOf() { - result = Array.of(arg1, arg2, arg3); -} - -function SmallStringArrayOf() { - result = Array.of(arg1, arg2, arg3); -} - -function SmallMixedArrayOf() { - result = Array.of(arg1, arg2, arg3); -} - -function EmptyArrayOfSetup() { -} - -function BaselineArraySetup() { - arg1 = 1; - arg2 = 2; - arg3 = 3; -} - -function SmallSmiArrayOfSetup() { - arg1 = 1; - arg2 = 2; - arg3 = 3; -} - -function SmallTransplantedArrayOfSetup() { - arg1 = 1; - arg2 = 2; - arg3 = 3; -} - -function SmallDoubleArrayOfSetup() { - arg1 = 1.5; - arg2 = 2.5; - arg3 = 3.5; -} - -function SmallStringArrayOfSetup() { - arg1 = "cat"; - arg2 = "dog"; - arg3 = "giraffe"; -} - -function SmallMixedArrayOfSetup() { - arg1 = 1; - arg2 = 2.5; - arg3 = "giraffe"; -} - -function LargeSmiArrayOfSetup() { - arg1 = 1; - arg2 = 2; - arg3 = 3; - arg4 = 4; - arg5 = 5; - arg6 = 6; - arg7 = 7; - arg8 = 8; - arg9 = 9; - arg10 = 10; - arg11 = 11; - arg12 = 12; - arg13 = 13; - arg14 = 14; - arg15 = 15; - arg16 = 16; - arg17 = 17; - arg18 = 18; - arg19 = 19; - arg20 = 20; -} + createSuite('EmptyArrayOf', 1000, EmptyArrayOf, EmptyArrayOfSetup); + createSuite( + 'SmallTransplantedArrayOf', 1000, SmallTransplantedArrayOf, + SmallTransplantedArrayOfSetup); + createSuite('SmallSmiArrayOf', 1000, SmallSmiArrayOf, SmallSmiArrayOfSetup); + createSuite('LargeSmiArrayOf', 1000, LargeSmiArrayOf, LargeSmiArrayOfSetup); + createSuite( + 'SmallDoubleArrayOf', 1000, SmallDoubleArrayOf, SmallDoubleArrayOfSetup); + createSuite( + 'SmallStringArrayOf', 1000, SmallStringArrayOf, SmallStringArrayOfSetup); + createSuite( + 'SmallMixedArrayOf', 1000, SmallMixedArrayOf, SmallMixedArrayOfSetup); + + function ArrayLike() {} + ArrayLike.of = Array.of; + + var arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10 + var arg11, arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20 + var result; + + function EmptyArrayOf() { + result = Array.of(); + } + + function BaselineArray() { + result = [arg1, arg2, arg3]; + } + + function SmallSmiArrayOf() { + result = Array.of(arg1, arg2, arg3); + } + + function LargeSmiArrayOf() { + result = Array.of( + arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, + arg12, arg13, arg14, arg15, arg16, arg17, arg18, arg19, arg20); + } + + function SmallTransplantedArrayOf() { + result = ArrayLike.of(arg1, arg2, arg3); + } + + function SmallDoubleArrayOf() { + result = Array.of(arg1, arg2, arg3); + } + + function SmallStringArrayOf() { + result = Array.of(arg1, arg2, arg3); + } + + function SmallMixedArrayOf() { + result = Array.of(arg1, arg2, arg3); + } + + function EmptyArrayOfSetup() {} + + function BaselineArraySetup() { + arg1 = 1; + arg2 = 2; + arg3 = 3; + } + + function SmallSmiArrayOfSetup() { + arg1 = 1; + arg2 = 2; + arg3 = 3; + } + + function SmallTransplantedArrayOfSetup() { + arg1 = 1; + arg2 = 2; + arg3 = 3; + } + + function SmallDoubleArrayOfSetup() { + arg1 = 1.5; + arg2 = 2.5; + arg3 = 3.5; + } + + function SmallStringArrayOfSetup() { + arg1 = 'cat'; + arg2 = 'dog'; + arg3 = 'giraffe'; + } + + function SmallMixedArrayOfSetup() { + arg1 = 1; + arg2 = 2.5; + arg3 = 'giraffe'; + } + + function LargeSmiArrayOfSetup() { + arg1 = 1; + arg2 = 2; + arg3 = 3; + arg4 = 4; + arg5 = 5; + arg6 = 6; + arg7 = 7; + arg8 = 8; + arg9 = 9; + arg10 = 10; + arg11 = 11; + arg12 = 12; + arg13 = 13; + arg14 = 14; + arg15 = 15; + arg16 = 16; + arg17 = 17; + arg18 = 18; + arg19 = 19; + arg20 = 20; + } })(); diff --git a/deps/v8/test/js-perf-test/Array/run.js b/deps/v8/test/js-perf-test/Array/run.js index 623047678a..52de9c3809 100644 --- a/deps/v8/test/js-perf-test/Array/run.js +++ b/deps/v8/test/js-perf-test/Array/run.js @@ -24,13 +24,6 @@ function mc(name, generic = false) { return new Function(`result = array.${name}(func, this_arg);`); } -function benchy(name, test, testSetup) { - new BenchmarkSuite(name, [1000], - [ - new Benchmark(name, false, false, 0, test, testSetup, ()=>{}) - ]); -} - function SmiSetup() { array = Array.from({ length: array_size }, (_, i) => i); } @@ -63,7 +56,7 @@ function DefineHigherOrderTests(tests) { this_arg = undefined; setupFunc(); }; - benchy(name, testFunc, setupFuncWrapper); + createSuite(name, 1000, testFunc, setupFuncWrapper); } } @@ -83,6 +76,7 @@ load('from.js'); load('of.js'); load('join.js'); load('to-string.js'); +load('slice.js'); var success = true; diff --git a/deps/v8/test/js-perf-test/Array/slice.js b/deps/v8/test/js-perf-test/Array/slice.js new file mode 100644 index 0000000000..c9e60930f3 --- /dev/null +++ b/deps/v8/test/js-perf-test/Array/slice.js @@ -0,0 +1,83 @@ +// Copyright 2018 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +(() => { + + const A = new Array(1000); + + for (let i = 0; i < A.length; i++) { + A[i] = i; + } + + function testArraySlice500() { + return A.slice(500); + } + + function testArraySlice500_999() { + return A.slice(500, 999); + } + + function testArraySliceN500() { + return A.slice(-500); + } + + function testArraySlice200_700() { + return A.slice(200, 700); + } + + function testArraySlice200_N300() { + return A.slice(200, -300); + } + + function testArraySlice4_1() { + return A.slice(200, -300); + } + + createSuiteWithWarmup("Array.slice(500)", 1, testArraySlice500); + createSuiteWithWarmup("Array.slice(500,999)", 1, testArraySlice500_999); + createSuiteWithWarmup("Array.slice(-500)", 1, testArraySliceN500); + createSuiteWithWarmup("Array.slice(200,700)", 1, testArraySlice200_700); + createSuiteWithWarmup("Array.slice(200,-300)", 1, testArraySlice200_N300); + createSuiteWithWarmup("Array.slice(4,1)", 1, testArraySlice4_1); + +})(); + +(() => { + + function assert(condition, message) { + if (!condition) { + throw Error(message); + } + } + + const A = new Array(1000); + + for (let i = 0; i < A.length; i++) { + A[i] = i; + } + + A[100000] = 255; + assert(%HasDictionaryElements(A), "A should be in dictionary mode for this test"); + + function testArraySlice500_999() { + return A.slice(500, 999); + } + + function testArraySlice200_700() { + return A.slice(200, 700); + } + + function testArraySlice200_N300() { + return A.slice(200, -300); + } + + function testArraySlice4_1() { + return A.slice(200, -300); + } + + createSuiteWithWarmup("Array.slice(500,999)-dict", 1, testArraySlice500_999); + createSuiteWithWarmup("Array.slice(200,700)-dict", 1, testArraySlice200_700); + createSuiteWithWarmup("Array.slice(200,-300)-dict", 1, testArraySlice200_N300); + createSuiteWithWarmup("Array.slice(4,1)-dict", 1, testArraySlice4_1); + +})(); diff --git a/deps/v8/test/js-perf-test/Array/to-string.js b/deps/v8/test/js-perf-test/Array/to-string.js index 1b6dd36eaa..c97a8c173f 100644 --- a/deps/v8/test/js-perf-test/Array/to-string.js +++ b/deps/v8/test/js-perf-test/Array/to-string.js @@ -7,10 +7,11 @@ function make_tostring() { return new Function("result = array.toString();"); } -benchy('SmiToString', make_tostring(), SmiToStringSetup); -benchy('StringToString', make_tostring(), StringToStringSetup); -benchy('SparseSmiToString', make_tostring(), SparseSmiToStringSetup); -benchy('SparseStringToString', make_tostring(), SparseStringToStringSetup); +createSuite('SmiToString', 1000, make_tostring(), SmiToStringSetup); +createSuite('StringToString', 1000, make_tostring(), StringToStringSetup); +createSuite('SparseSmiToString', 1000, make_tostring(), SparseSmiToStringSetup); +createSuite( + 'SparseStringToString', 1000, make_tostring(), SparseStringToStringSetup); var array; var result; |