]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - heap/WeakSet.h
JavaScriptCore-7601.1.46.3.tar.gz
[apple/javascriptcore.git] / heap / WeakSet.h
index 580cbe7a96e5d3dd4f6a8fe0b3f1999299dce527..dbde5108bcde94efce7c60a2ae4a349ba8f52f59 100644 (file)
 namespace JSC {
 
 class Heap;
+class MarkedBlock;
 class WeakImpl;
 
 class WeakSet {
+    friend class LLIntOffsetsExtractor;
+
 public:
     static WeakImpl* allocate(JSValue, WeakHandleOwner* = 0, void* context = 0);
     static void deallocate(WeakImpl*);
 
-    WeakSet(VM*);
+    WeakSet(VM*, MarkedBlock&);
     ~WeakSet();
     void lastChanceToFinalize();
 
@@ -63,12 +66,14 @@ private:
     WeakBlock* m_nextAllocator;
     DoublyLinkedList<WeakBlock> m_blocks;
     VM* m_vm;
+    MarkedBlock& m_markedBlock;
 };
 
-inline WeakSet::WeakSet(VM* vm)
+inline WeakSet::WeakSet(VM* vm, MarkedBlock& markedBlock)
     : m_allocator(0)
     , m_nextAllocator(0)
     , m_vm(vm)
+    , m_markedBlock(markedBlock)
 {
 }