var index; function foo() { if (index >= 0) return arguments[index]; else return 13; } function bar() { return foo(); } noInline(bar); for (var i = 0; i < 100; ++i) { index = i & 1; var result = foo(42, 53); if (result != [42, 53][index]) throw "Error: bad result in first loop: " + result; } for (var i = 0; i < 100000; ++i) { index = -(i & 1) - 1; var result = bar(); if (result !== 13) throw "Error: bad result in second loop: " + result; } index = 0; var result = bar(); if (result !== void 0) throw "Error: bad result at end: " + result;