[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / sinkable-new-object-with-builtin-constructor.js
1 function sumOfArithSeries(limit) {
2     return limit * (limit + 1) / 2;
3 }
4
5 var n = 10000000;
6
7 function bar() { }
8
9 function foo(b) {
10     var result = 0;
11     for (var i = 0; i < n; ++i) {
12         var iter = ([i, i + 1])[Symbol.iterator]();
13         if (b) {
14             bar(o, p);
15             return;
16         }
17         for (x of iter)
18             result += x;
19     }
20     return result;
21 }
22
23 noInline(bar);
24 noInline(foo);
25
26 var result = foo(false);
27 if (result != sumOfArithSeries(n - 1) + sumOfArithSeries(n))
28     throw "Error: bad result: " + result;