[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / polyvariant-get-by-id-shorter-tower.js
1 (function() {
2     var globalO;
3     
4     function polyvariant()
5     {
6         return globalO.func();
7     }
8     
9     class Foo {
10         func()
11         {
12             return 42;
13         }
14     }
15     
16     var fooO = new Foo();
17     
18     function foo()
19     {
20         globalO = fooO;
21         return polyvariant();
22     }
23     
24     class Bar {
25         func()
26         {
27             return foo();
28         }
29     }
30     
31     var barO = new Bar();
32     
33     function bar()
34     {
35         globalO = barO;
36         return polyvariant();
37     }
38     
39     var count = 1000000;
40     var result = 0;
41     for (var i = 0; i < count; ++i)
42         result += bar();
43     
44     if (result != count * 42)
45         throw "Error: bad result: " + result;
46 })();