inline-callarg-bailout-phi.js (598B)
1 function add(x, y) { 2 if (x & 0x1) 3 return x + y; 4 else 5 return y + x; 6 } 7 8 function runBinop(binop, lhs, rhs) { 9 return binop(lhs, rhs); 10 } 11 12 //dis(run_binop); 13 14 // Get the add function to compile. 15 var accum = 0; 16 for (var i = 0; i < 1000; ++i) 17 accum += add(1, 1); 18 assertEq(accum, 2000); 19 20 // Get the runBinop function to compile and inline the add function. 21 var accum = 0; 22 for (var i = 0; i < 11000; ++i) 23 accum = runBinop(add, i, i); 24 assertEq(accum, 21998); 25 26 var t30 = 1 << 30; 27 var t31 = t30 + t30; 28 var result = runBinop(add, t31, t31); 29 assertEq(result, Math.pow(2, 32));