Sfoglia il codice sorgente

LibJS: Visit GC allocated members of ModuleEnvironment

networkException 2 anni fa
parent
commit
93464d4e41

+ 7 - 0
Userland/Libraries/LibJS/Runtime/ModuleEnvironment.cpp

@@ -126,4 +126,11 @@ Optional<ModuleEnvironment::BindingAndIndex> 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);
+}
+
 }

+ 2 - 0
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;