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.

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

mercurial