[DFG][FTL] operationHasIndexedProperty does not consider negative int32_t
[WebKit-https.git] / JSTests / stress / operation-in-may-have-negative-int32.js
1 function shouldBe(actual, expected)
2 {
3     if (actual !== expected)
4         throw new Error('bad value: ' + actual);
5 }
6
7 var k = -1;
8 var o1 = {};
9 o1[k] = true;
10 var o2 = {};
11
12 function test1(o)
13 {
14     return k in o;
15 }
16 noInline(test1);
17
18 function test2(o)
19 {
20     return k in o;
21 }
22 noInline(test2);
23
24 for (var i = 0; i < 1e6; ++i)
25     shouldBe(test1(o1), true);
26 for (var i = 0; i < 1e6; ++i)
27     shouldBe(test1(o2), false);
28
29 for (var i = 0; i < 1e6; ++i)
30     shouldBe(test2(o2), false);
31 for (var i = 0; i < 1e6; ++i)
32     shouldBe(test2(o1), true);