function foo(i) { | |
return arguments[i]; | |
} | |
function bar(i) { | |
return [arguments[i], foo(i, "one", 2, "three"), arguments[i]]; | |
} | |
noInline(bar); | |
function arraycmp(a, b) { | |
if (a.length != b.length) | |
return false; | |
for (var i = 0; i < a.length; ++i) { | |
if (a[i] != b[i]) | |
return false; | |
} | |
return true; | |
} | |
for (var i = 0; i < 10000; ++i) { | |
var thingies = [i % 4, "one", 2, "three"]; | |
var otherThingies = [i % 4, "five", 6, "seven"]; | |
var result = bar(i % 4, "five", 6, "seven"); | |
if (!arraycmp(result, [otherThingies[i % 4], thingies[i % 4], otherThingies[i % 4]])) | |
throw "Error: bad result for i = " + i + ": " + result; | |
} |