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