1function foo(i) { 2 return arguments[i]; 3} 4 5function bar(i) { 6 return [arguments[i], foo(i, "one", 2, "three"), arguments[i]]; 7} 8 9noInline(bar); 10 11function arraycmp(a, b) { 12 if (a.length != b.length) 13 return false; 14 for (var i = 0; i < a.length; ++i) { 15 if (a[i] != b[i]) 16 return false; 17 } 18 return true; 19} 20 21for (var i = 0; i < 10000; ++i) { 22 var thingies = [i % 4, "one", 2, "three"]; 23 var otherThingies = [i % 4, "five", 6, "seven"]; 24 var result = bar(i % 4, "five", 6, "seven"); 25 if (!arraycmp(result, [otherThingies[i % 4], thingies[i % 4], otherThingies[i % 4]])) 26 throw "Error: bad result for i = " + i + ": " + result; 27} 28