blob: dec8e71c54e41cb64a710a45f3454ff2069949d7 [file] [log] [blame]
var globalObjectForObject = $vm.globalObjectForObject;
function assert(b) {
if (!b)
throw new Error("Bad assertion");
}
function spread(a) {
return [...a];
}
noInline(spread);
const objectText = `
let o = {
[Symbol.iterator]() {
return {
next() {
return {done: true};
}
};
}
};
o;
`;
let o = eval(objectText);
for (let i = 0; i < 1000; i++) {
if (i % 23 === 0)
o = eval(objectText);
spread(o);
}
let myGlobalObject = globalObjectForObject(new Object);
let secondGlobalObject = createGlobalObject();
let o2 = secondGlobalObject.Function("return {};")();
let error = null;
try {
spread(o2);
} catch(e) {
error = e;
}
assert(error);
assert(globalObjectForObject(error) === myGlobalObject);