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();
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)
{
}