blob: 0de63e92304ff4dc2e57a010a9f88e7f0b38ac40 [file] [log] [blame]
utatane.tea@gmail.comfc57eb12018-07-27 22:27:10 +00001function shouldBe(actual, expected)
2{
3 if (actual !== expected)
4 throw new Error('bad value: ' + actual);
5}
6noInline(shouldBe);
7
8function test1(array)
9{
10 for (var i = 0; i < 5; ++i) {
11 array[0] = array[0] + 1;
12 }
13 return array;
14}
15noInline(test1);
16
17function test2(array)
18{
19 for (var i = 0; i < 5; ++i) {
20 array[0] = array[0] + 1;
21 }
22 return array;
23}
24noInline(test2);
25
26function test3(array)
27{
28 for (var i = 0; i < 5; ++i) {
29 array[0] = array[0] + 1;
30 }
31 return array;
32}
33noInline(test3);
34
35for (var i = 0; i < 1e5; ++i) {
36 shouldBe(String(test1([0, 1, 2, 3, 4])), `5,1,2,3,4`);
37 shouldBe(String(test2([0.1, 1.1, 2.1, 3.1, 4.1])), `5.1,1.1,2.1,3.1,4.1`);
38 shouldBe(String(test3(['C', 'o', 'c', 'o', 'a'])), `C11111,o,c,o,a`);
39}