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; |