Bug 1352430 - Add barrier to wrapper cache to clear dying objects that have not yet been finalized r=bz r=sfink
* * * Code review followup
This commit is contained in:
@@ -1181,7 +1181,7 @@ CycleCollectedJSRuntime::JSObjectsTenured()
|
||||
|
||||
for (auto iter = mNurseryObjects.Iter(); !iter.Done(); iter.Next()) {
|
||||
nsWrapperCache* cache = iter.Get();
|
||||
JSObject* wrapper = cache->GetWrapperPreserveColor();
|
||||
JSObject* wrapper = cache->GetWrapperMaybeDead();
|
||||
MOZ_DIAGNOSTIC_ASSERT(wrapper);
|
||||
if (!JS::ObjectIsTenured(wrapper)) {
|
||||
MOZ_ASSERT(!cache->PreservingWrapper());
|
||||
@@ -1205,8 +1205,8 @@ CycleCollectedJSRuntime::NurseryWrapperAdded(nsWrapperCache* aCache)
|
||||
{
|
||||
MOZ_ASSERT(mJSContext);
|
||||
MOZ_ASSERT(aCache);
|
||||
MOZ_ASSERT(aCache->GetWrapperPreserveColor());
|
||||
MOZ_ASSERT(!JS::ObjectIsTenured(aCache->GetWrapperPreserveColor()));
|
||||
MOZ_ASSERT(aCache->GetWrapperMaybeDead());
|
||||
MOZ_ASSERT(!JS::ObjectIsTenured(aCache->GetWrapperMaybeDead()));
|
||||
mNurseryObjects.InfallibleAppend(aCache);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user