[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / gcse.js
1 (function(){
2     var o = {f:42};
3     var p = {f:43};
4     var result = 0;
5     var n = 1000000;
6     for (var i = 0 ; i < n; ++i) {
7         var a = o.f;
8         var b = o.f;
9         var c = o.f;
10         var d = o.f;
11         if (d) {
12             var e = o.f;
13             var f = o.f;
14             var g = o.f;
15             var h = o.f;
16             if (h) {
17                 var j = o.f;
18                 var k = o.f;
19                 var l = o.f;
20                 var m = o.f;
21                 if (m) {
22                     var q = o.f;
23                     var r = o.f;
24                     var s = o.f;
25                     var t = o.f;
26                     if (t)
27                         result += r;
28                 }
29             }
30         }
31         var tmp = o;
32         o = p;
33         p = tmp;
34     }
35     if (result != (n / 2) * o.f + (n / 2) * p.f)
36         throw "Error: bad result: " + result;
37 })();