瀏覽代碼

LibWeb/WebAssembly: Add missing visit of WebAssembly::Memory::m_buffer

Andreas Kling 1 年之前
父節點
當前提交
93ba99f14a
共有 2 個文件被更改,包括 7 次插入0 次删除
  1. 6 0
      Userland/Libraries/LibWeb/WebAssembly/Memory.cpp
  2. 1 0
      Userland/Libraries/LibWeb/WebAssembly/Memory.h

+ 6 - 0
Userland/Libraries/LibWeb/WebAssembly/Memory.cpp

@@ -47,6 +47,12 @@ void Memory::initialize(JS::Realm& realm)
     WEB_SET_PROTOTYPE_FOR_INTERFACE_WITH_CUSTOM_NAME(Memory, WebAssembly.Memory);
     WEB_SET_PROTOTYPE_FOR_INTERFACE_WITH_CUSTOM_NAME(Memory, WebAssembly.Memory);
 }
 }
 
 
+void Memory::visit_edges(Visitor& visitor)
+{
+    Base::visit_edges(visitor);
+    visitor.visit(m_buffer);
+}
+
 // https://webassembly.github.io/spec/js-api/#dom-memory-grow
 // https://webassembly.github.io/spec/js-api/#dom-memory-grow
 WebIDL::ExceptionOr<u32> Memory::grow(u32 delta)
 WebIDL::ExceptionOr<u32> Memory::grow(u32 delta)
 {
 {

+ 1 - 0
Userland/Libraries/LibWeb/WebAssembly/Memory.h

@@ -38,6 +38,7 @@ private:
     Memory(JS::Realm&, Wasm::MemoryAddress);
     Memory(JS::Realm&, Wasm::MemoryAddress);
 
 
     virtual void initialize(JS::Realm&) override;
     virtual void initialize(JS::Realm&) override;
+    virtual void visit_edges(Visitor&) override;
 
 
     WebIDL::ExceptionOr<void> reset_the_memory_buffer();
     WebIDL::ExceptionOr<void> reset_the_memory_buffer();
     static WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::ArrayBuffer>> create_a_memory_buffer(JS::VM&, JS::Realm&, Wasm::MemoryAddress);
     static WebIDL::ExceptionOr<JS::NonnullGCPtr<JS::ArrayBuffer>> create_a_memory_buffer(JS::VM&, JS::Realm&, Wasm::MemoryAddress);