function foo(x) { return new Array(x); } noInline(foo); function test(size) { var result = foo(size); if (result.length != size) { print("Got a weird length: " + result.length); throw "Error: bad result: " + result; } var sawThings = false; for (var s in result) sawThings = true; if (sawThings) { print("Saw things!"); throw "Error: array is in bad state: " + result; } result[0] = "42.5"; if (result[0] != "42.5") { print("Didn't store what I thought I stored."); throw "Error: array is in wierd state: " + result; } } for (var i = 0; i < 100000; ++i) { test(0); test(1); test(42); }