js/src/jit-test/tests/ion/truncate.js

changeset 0
6474c204b198
     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();

mercurial