function makeBaseArguments() { | |
return arguments; | |
} | |
noInline(makeBaseArguments); | |
function makeArray(length) { | |
var array = new Array(length); | |
for (var i = 0; i < length; ++i) | |
array[i] = 99999; | |
return array; | |
} | |
noInline(makeArray); | |
function cons(f) { | |
var result = makeBaseArguments(); | |
result.f = f; | |
return result; | |
} | |
var array = []; | |
for (var i = 0; i < 100000; ++i) | |
array.push(cons(i)); | |
for (var i = 0; i < 1000000; ++i) { | |
var j = (i * 3) % array.length; | |
array[j] = cons(j); | |
makeArray(i % 7); | |
} | |
for (var i = 0; i < array.length; ++i) { | |
if (array[i].f != i) | |
throw "Error: bad value of f at " + i + ": " + array[i].f; | |
} |