Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / fast / js / regress / script-tests / int-overflow-local.js
blobd82f585254d981abbfeb6d16d12af24d3ff2e13e
1 // This tests that we can correctly infer that a local variable is only
2 // used as an integer even if its uses are not in the same basic block as
3 // where it is defined.
5 function foo(a, b, c) {
6     var x = 1 + a + b;
7     if (c)
8         x++;
9     else
10         x--;
11     return (x + a)|0;
14 var bigNumber = 2147483647;
15 var result = 0;
17 for (var i = 0; i < 500000; ++i)
18     result = (result + foo(i, bigNumber - i, i%2)) | 0;
20 if (result != 445698416)
21     throw "Bad result: " + result;