function foo(length) {
var o = {};
o.length = length;
for (var i = 0; i < o.length; ++i)
o[i] = i; // The first iteration is special as it makes indexed storage. If the DFG doesn't know how to optimize that and instead calls a C function, then this benchmark may not run so quickly.
return o;
}
function sum(o) {
var result = 0;
for (var i = 0; i < o.length; ++i)
result += o[i];
return result;
}
var result = 0;
for (var i = 0; i < 2000; ++i)
result += sum(foo(100));
if (result != 9900000)
throw "Error: bad result: " + result;