Bug 1435295 - Don't attempt to mark object group unknown unnecessarily when merging compartments r=jandem

This commit is contained in:
Jon Coppeard 2018-02-06 11:53:21 +00:00
Родитель b502ad310a
Коммит a2b70a9f55
2 изменённых файлов: 12 добавлений и 1 удалений

Просмотреть файл

@ -0,0 +1,11 @@
if (helperThreadCount() === 0)
quit();
if (!('oomTest' in this))
quit();
oomTest(new Function(`function execOffThread(source) {
offThreadCompileModule(source);
return finishOffThreadModule();
}
b = execOffThread("[1, 2, 3]")
`));

Просмотреть файл

@ -7934,7 +7934,7 @@ GCRuntime::mergeCompartments(JSCompartment* source, JSCompartment* target)
JSObject* targetProto = global->getPrototypeForOffThreadPlaceholder(obj);
MOZ_ASSERT(targetProto->isDelegate());
group->setProtoUnchecked(TaggedProto(targetProto));
if (targetProto->isNewGroupUnknown())
if (targetProto->isNewGroupUnknown() && !group->unknownProperties())
group->markUnknown(cx);
}
}