diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/HandleBlock.h')
-rw-r--r-- | Source/JavaScriptCore/heap/HandleBlock.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/Source/JavaScriptCore/heap/HandleBlock.h b/Source/JavaScriptCore/heap/HandleBlock.h index 962d37c5e..ca2895695 100644 --- a/Source/JavaScriptCore/heap/HandleBlock.h +++ b/Source/JavaScriptCore/heap/HandleBlock.h @@ -26,17 +26,18 @@ #ifndef HandleBlock_h #define HandleBlock_h -#include "HeapBlock.h" +#include <wtf/DoublyLinkedList.h> namespace JSC { -class DeadBlock; class HandleSet; class HandleNode; -class HandleBlock : public HeapBlock<HandleBlock> { +class HandleBlock : public DoublyLinkedListNode<HandleBlock> { + friend class WTF::DoublyLinkedListNode<HandleBlock>; public: - static HandleBlock* create(DeadBlock*, HandleSet*); + static HandleBlock* create(HandleSet*); + static void destroy(HandleBlock*); static HandleBlock* blockFor(HandleNode*); static const size_t blockSize = 4 * KB; @@ -48,13 +49,15 @@ public: unsigned nodeCapacity(); private: - HandleBlock(Region*, HandleSet*); + HandleBlock(HandleSet*); char* payload(); char* payloadEnd(); static const size_t s_blockMask = ~(blockSize - 1); + HandleBlock* m_prev; + HandleBlock* m_next; HandleSet* m_handleSet; }; |