1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/js/src/jit-test/tests/ion/truncate.js Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,28 @@ 1.4 +function f() { 1.5 + var x = Math.pow(2, 31); // take it as argument if constant propagation comes in you way. 1.6 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 32 1.7 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 33 1.8 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 34 1.9 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 35 1.10 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 36 1.11 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 37 1.12 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 38 1.13 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 39 1.14 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 40 1.15 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 41 1.16 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 42 1.17 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 43 1.18 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 44 1.19 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 45 1.20 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 46 1.21 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 47 1.22 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 48 1.23 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 49 1.24 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 50 1.25 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 51 1.26 + x = x + x; assertEq((x + 1) | 0, 1); // 2 ** 52 1.27 + x = x + x; assertEq((x + 1) | 0, 0); // 2 ** 53 1.28 +} 1.29 + 1.30 +for (var i = 0; i <= 100000; i++) 1.31 + f();