1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 17:57:35 +00:00

LibJS: Don't use a Handle<Realm> in FinalizationRegistry

Instead just treat it like a normal GC cell edge.
This commit is contained in:
Andreas Kling 2022-09-01 11:38:35 +02:00
parent 63cc2650e3
commit 7fce5f102f
2 changed files with 6 additions and 4 deletions

View file

@ -12,7 +12,7 @@ namespace JS {
FinalizationRegistry::FinalizationRegistry(Realm& realm, JobCallback cleanup_callback, Object& prototype)
: Object(prototype)
, WeakContainer(heap())
, m_realm(make_handle(realm))
, m_realm(realm)
, m_cleanup_callback(move(cleanup_callback))
{
}
@ -82,6 +82,7 @@ ThrowCompletionOr<void> FinalizationRegistry::cleanup(Optional<JobCallback> call
void FinalizationRegistry::visit_edges(Cell::Visitor& visitor)
{
Base::visit_edges(visitor);
visitor.visit(m_realm.ptr());
for (auto& record : m_records) {
visitor.visit(record.held_value);
visitor.visit(record.unregister_token);