aboutsummaryrefslogtreecommitdiff
path: root/deps/v8/test/js-perf-test/Array
diff options
context:
space:
mode:
authorMichaël Zasso <targos@protonmail.com>2018-09-07 17:07:13 +0200
committerMichaël Zasso <targos@protonmail.com>2018-09-07 20:59:13 +0200
commit586db2414a338e1bf6eaf6e672a3adc7ce309f6a (patch)
tree139fa972aef648481ddee22a3a85b99707d28df5 /deps/v8/test/js-perf-test/Array
parent12ed7c94e5160aa6d38e3d2cb2a73dae0a6f9342 (diff)
downloadandroid-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.js293
-rw-r--r--deps/v8/test/js-perf-test/Array/join.js8
-rw-r--r--deps/v8/test/js-perf-test/Array/of.js224
-rw-r--r--deps/v8/test/js-perf-test/Array/run.js10
-rw-r--r--deps/v8/test/js-perf-test/Array/slice.js83
-rw-r--r--deps/v8/test/js-perf-test/Array/to-string.js9
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;