From 93464d4e41e1e0554767d795740b452e29b092c2 Mon Sep 17 00:00:00 2001 From: networkException Date: Mon, 3 Oct 2022 02:27:40 +0200 Subject: [PATCH] LibJS: Visit GC allocated members of ModuleEnvironment --- Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp | 7 +++++++ Userland/Libraries/LibJS/Runtime/ModuleEnvironment.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp b/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp index 8843c8e71d..9b974bdd23 100644 --- a/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp +++ b/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp @@ -126,4 +126,11 @@ Optional ModuleEnvironment::find_binding_and return DeclarativeEnvironment::find_binding_and_index(name); } +void ModuleEnvironment::visit_edges(Visitor& visitor) +{ + Base::visit_edges(visitor); + for (auto& indirect_binding : m_indirect_bindings) + visitor.visit(indirect_binding.module); +} + } diff --git a/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.h b/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.h index f2652165ad..181da9134e 100644 --- a/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.h +++ b/Userland/Libraries/LibJS/Runtime/ModuleEnvironment.h @@ -30,6 +30,8 @@ public: private: explicit ModuleEnvironment(Environment* outer_environment); + virtual void visit_edges(Visitor&) override; + struct IndirectBinding { FlyString name; Module* module;