diff --git a/Userland/Libraries/LibJS/Heap/DeferGC.h b/Userland/Libraries/LibJS/Heap/DeferGC.h index c2a5ab8f26..c57b99d41a 100644 --- a/Userland/Libraries/LibJS/Heap/DeferGC.h +++ b/Userland/Libraries/LibJS/Heap/DeferGC.h @@ -15,12 +15,12 @@ public: explicit DeferGC(Heap& heap) : m_heap(heap) { - m_heap.defer_gc({}); + m_heap.defer_gc(); } ~DeferGC() { - m_heap.undefer_gc({}); + m_heap.undefer_gc(); } private: diff --git a/Userland/Libraries/LibJS/Heap/Heap.cpp b/Userland/Libraries/LibJS/Heap/Heap.cpp index 14234b6d72..bfb797edb0 100644 --- a/Userland/Libraries/LibJS/Heap/Heap.cpp +++ b/Userland/Libraries/LibJS/Heap/Heap.cpp @@ -575,12 +575,12 @@ void Heap::did_destroy_weak_container(Badge, WeakContainer& set) m_weak_containers.remove(set); } -void Heap::defer_gc(Badge) +void Heap::defer_gc() { ++m_gc_deferrals; } -void Heap::undefer_gc(Badge) +void Heap::undefer_gc() { VERIFY(m_gc_deferrals > 0); --m_gc_deferrals; diff --git a/Userland/Libraries/LibJS/Heap/Heap.h b/Userland/Libraries/LibJS/Heap/Heap.h index c92e68a4c9..1a97a1e7d4 100644 --- a/Userland/Libraries/LibJS/Heap/Heap.h +++ b/Userland/Libraries/LibJS/Heap/Heap.h @@ -73,9 +73,6 @@ public: void did_create_weak_container(Badge, WeakContainer&); void did_destroy_weak_container(Badge, WeakContainer&); - void defer_gc(Badge); - void undefer_gc(Badge); - BlockAllocator& block_allocator() { return m_block_allocator; } void uproot_cell(Cell* cell); @@ -83,6 +80,10 @@ public: private: friend class MarkingVisitor; friend class GraphConstructorVisitor; + friend class DeferGC; + + void defer_gc(); + void undefer_gc(); static bool cell_must_survive_garbage_collection(Cell const&);