| description( | |
| "Tests that our optimization to elide overflow checks understands that if we keep adding huge numbers, we could end up creating a number that is not precisely representable using doubles." | |
| ); | |
| function foo(a) { | |
| var x = a; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| x += 281474976710655; | |
| x += 281474976710654; | |
| x += 281474976710653; | |
| x += 281474976710652; | |
| return x | 0 | |
| } | |
| dfgShouldBe(foo, "foo(2147483647)", "2147483552"); |