We should support CreateThis in the FTL
[WebKit-https.git] / JSTests / microbenchmarks / polyvariant-get-by-id-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     class Baz {
40         func()
41         {
42             return bar();
43         }
44     }
45     
46     var bazO = new Baz();
47     
48     function baz()
49     {
50         globalO = bazO;
51         return polyvariant();
52     }
53     
54     var count = 1000000;
55     var result = 0;
56     for (var i = 0; i < count; ++i)
57         result += baz();
58     
59     if (result != count * 42)
60         throw "Error: bad result: " + result;
61 })();