X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/93a3786624b2768d89bfa27e46598dc64e2fb70a..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/heap/HandleBlock.h diff --git a/heap/HandleBlock.h b/heap/HandleBlock.h index 962d37c..fb8c105 100644 --- a/heap/HandleBlock.h +++ b/heap/HandleBlock.h @@ -26,7 +26,7 @@ #ifndef HandleBlock_h #define HandleBlock_h -#include "HeapBlock.h" +#include namespace JSC { @@ -34,9 +34,11 @@ class DeadBlock; class HandleSet; class HandleNode; -class HandleBlock : public HeapBlock { +class HandleBlock : public DoublyLinkedListNode { + friend class WTF::DoublyLinkedListNode; 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 +50,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; };