Issue #3111 - Clean up logic in SweepFinalizationRegistries.

Resolves #3111
This commit is contained in:
Moonchild committed 2026-06-09 18:06:00 +02:00
1 parent 58a4e0d545
commit 54f15d7afe
1 file changed
+6 -3
+6 -3
View File
@@ -4761,11 +4761,14 @@ GCRuntime::sweepFinalizationRegistries()
if (!obj || !obj->is<FinalizationRegistryObject>()) {
zone->finalizationRegistries.erase(zone->finalizationRegistries.begin() + i);
continue;
}
obj->as<FinalizationRegistryObject>().sweepAfterGC(rt);
}
i++;
}
for (size_t i = 0; i < zone->finalizationRegistries.length(); i++) {
JSObject* obj = zone->finalizationRegistries[i].unbarrieredGet();
obj->as<FinalizationRegistryObject>().sweepAfterGC(rt);
}
zone->finalizationRegistries.clear();
}
}