[DFG][FTL] Make ArraySlice(0) code tight
[WebKit-https.git] / JSTests / stress / array-slice-with-zero.js
1 function shouldBe(actual, expected) {
2     if (actual !== expected)
3         throw new Error('bad value: ' + actual);
4 }
5
6 function test(array)
7 {
8     return array.slice(0);
9 }
10 noInline(test);
11
12 for (var i = 0; i < 1e5; ++i) {
13     var array = [i, i, i];
14     var result = test(array);
15     shouldBe(array !== result, true);
16     shouldBe(result.length, 3);
17     for (var j = 0; j < 3; ++j)
18         shouldBe(result[j], i);
19 }
20
21 function test2(array, i)
22 {
23     return array.slice(0, i);
24 }
25 noInline(test2);
26
27 for (var i = 0; i < 1e5; ++i) {
28     var array = [i, i, i];
29     var result = test2(array, 2);
30     shouldBe(array !== result, true);
31     shouldBe(result.length, 2);
32     for (var j = 0; j < 2; ++j)
33         shouldBe(result[j], i);
34 }