[JSC] Do not use asArrayModes() with Structures because it discards TypedArray inform...
[WebKit-https.git] / JSTests / stress / elidable-new-object-roflcopter-then-exit.js
1 //@ skip if $architecture != "arm64" and $architecture != "x86-64"
2
3 function sumOfArithSeries(limit) {
4     return limit * (limit + 1) / 2;
5 }
6
7 var n = 1000000;
8
9 var array = [42, "hello"];
10
11 function foo() {
12     var result = 0;
13     var q;
14     for (var i = 0; i < n; ++i) {
15         var o = {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: i}}}}}}}}}}}}}}}}}}};
16         var p = {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: i + 1}}}}}}}}}}}}}}}}}}};
17         q = array[(i > n - 100) | 0] + 1;
18         result += o.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f + p.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f;
19     }
20     return q + result;
21 }
22
23 var result = foo();
24 if (result != "hello" + 1 + (sumOfArithSeries(n - 1) + sumOfArithSeries(n)))
25     throw "Error: bad result: " + result;