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

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 // Normal checks:
     2 function mul(x, y) {
     3     return x*y;
     4 }
     5 assertEq(mul(1, 2), 2);
     6 assertEq(mul(0, 2), 0);
     7 assertEq(mul(0, -1), -0);
     8 assertEq(mul(100000000, 20000), 2000000000000);
     9 assertEq(mul(0, -2), -0);
    10 assertEq(mul(0, 0), 0);
    12 // Constant * value checks:
    13 assertEq(function(x){return x*1}(4), 4);
    14 assertEq(function(x){return x*1}(0), 0);
    15 assertEq(function(x){return x*1}(-4), -4);
    16 assertEq(function(x){return x*2}(4), 8);
    17 assertEq(function(x){return x*2}(0), 0);
    18 assertEq(function(x){return x*2}(-4), -8);
    19 assertEq(function(x){return x*2}(2000000000), 4000000000);
    20 assertEq(function(x){return x*5}(4), 20);
    21 assertEq(function(x){return x*5}(0), 0);
    22 assertEq(function(x){return x*5}(-4), -20);
    23 assertEq(function(x){return x*0}(0), 0);
    24 assertEq(function(x){return x*0}(5), 0);
    25 assertEq(function(x){return x*0}(-5), -0);
    26 assertEq(function(x){return x*-5}(4), -20);
    27 assertEq(function(x){return x*-5}(0), -0);
    28 assertEq(function(x){return x*-5}(-4), 20);
    29 assertEq(function(x){return x*20000}(100000000), 2000000000000);
    31 // Constant folding
    32 assertEq(function(){var x=5; return x*4}(), 20);
    33 assertEq(function(){var x=5; return x*-4}(), -20);
    34 assertEq(function(){var x=0; return x*4}(), 0);
    35 assertEq(function(){var x=0; return x*0}(), 0);
    36 assertEq(function(){var x=0; return x*-4}(), -0);
    37 assertEq(function(){var x=20000; return x*100000000}(), 2000000000000);

mercurial