Source code
Revision control
Copy as Markdown
Other Tools
function test() {
var f = function() { return arguments; };
var template = new Array(9000).fill(0);
var a = f.apply(null, template);
Object.defineProperty(a, 0, {value: "v1", writable: false, configurable: true});
for (var alloc = 4; alloc < 15; alloc++) {
var args = null;
var ok = false;
oomAtAllocation(alloc);
try {
args = f.apply(null, template);
ok = true;
Object.defineProperty(args, 0, {value: "v1", writable: false, configurable: true});
} catch (e) {}
resetOOMFailure();
if (ok) {
Object.defineProperty(args, 0, {value: "v2"});
assertEq(args[0], "v2");
}
}
}
test();