blob: ea9fa1c90e3c487e49efb9648397dc21dd31a377 [file] [log] [blame]
let objs = new Array(1000);
for (let i of objs.keys()) {
let o = {};
// Make the object an uncacheable dictionary.
o.foo = 1;
delete o.foo;
objs[i] = o;
}
function f(o) {
o.foo = 42;
}
for (let obj of objs) {
let setter = new Function(`
Object.defineProperty(this, "foo", {
writable: true,
configurable: true,
value: null
});
let o = Object.create(this);
// Need eval to get a new IC to flatten obj.
let str = "for (let i = 0; i < 1000; i++) o.foo";
eval(str);
`);
obj.__defineSetter__("foo", setter);
f(obj);
f(obj);
}