Source code
Revision control
Copy as Markdown
Other Tools
// Any copyright is dedicated to the Public Domain.↩
// Contributor: Jason Orendorff <jorendorff@mozilla.com>↩
↩
var obj = {a: 0, b: 1, c: 2};↩
delete obj.b; // switch to dictionary mode↩
Object.defineProperty(obj, 'g',↩
{get: function () { return -1; }, configurable: true});↩
for (var i = 3; i < 20; i++)↩
obj['x' + i] = i; // get property table↩
for (var i = 3; i < 20; i++)↩
delete obj['x' + i]; // add to freelist↩
delete obj.g; // must update lastProp->freeslot, to avoid assertion↩
↩
// extra junk to try to hit the assertion, if freeslot is not updated↩
gc();↩
obj.d = 3;↩
obj.e = 4;↩
↩
reportCompare(0, 0, 'ok');↩