[JSC] AI should not propagate AbstractValue relying on constant folding phase
[WebKit-https.git] / JSTests / microbenchmarks / polymorphic-put-by-id.js
1 function foo(o) {
2     for (var i = 0; i < 100; ++i)
3         o.f = (o.f | 0) + 42;
4 }
5
6 noInline(foo);
7
8 for (var i = 0; i < 100000; ++i) {
9     var object;
10     if ((i % 3) == 0)
11         object = {g:3};
12     else if ((i % 3) == 1)
13         object = {f:1, g:2};
14     else if ((i % 3) == 2)
15         object = {g:1, f:2};
16     foo(object);
17     if (object.f != 42 * 100 + (i % 3))
18         throw "Error: bad result for i = " + i + ": " + object.f;
19 }
20
21 var r = {g:3, h:4, f:5};
22 foo(r);
23 if (r.f != 5 + 42 * 100)
24     throw "Error: bad result at end: " + r.f;