| function foo(x) { |
| var array = []; |
| var result = []; |
| for (var i = 0; i < 42; ++i) |
| result.push(array.push(x)); |
| return [array, result]; |
| } |
| |
| noInline(foo); |
| |
| for (var i = 0; i < 100000; ++i) { |
| var result = foo(5.5); |
| if (result[0].toString() != "5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5") |
| throw "Error: bad array: " + result[0]; |
| if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") |
| throw "Error: bad array: " + result[1]; |
| } |
| |
| var result = foo(0/0); |
| if (result[0].toString() != "NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN") |
| throw "Error: bad array: " + result[0]; |
| if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") |
| throw "Error: bad array: " + result[1]; |