function foo(a, b) { return [a, b]; } function bar() { return foo.apply(this, arguments); } function baz() { return bar(42); } noInline(baz); for (var i = 0; i < 10000; ++i) { var result = baz(); if (!(result instanceof Array)) throw "Error: result is not an array."; if (result.length != 2) throw "Error: result doesn't have length 4."; if (result[0] != 42) throw "Error: first element is not 42: " + result[0]; for (var j = 1; j < 2; ++j) { if (result[j] !== void 0) throw "Error: element " + j + " is not undefined: " + result[j]; } }