diff options
Diffstat (limited to 'Source/JavaScriptCore/heap/HandleBlockInlines.h')
| -rw-r--r-- | Source/JavaScriptCore/heap/HandleBlockInlines.h | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/Source/JavaScriptCore/heap/HandleBlockInlines.h b/Source/JavaScriptCore/heap/HandleBlockInlines.h index 9e29bffd1..7c771935e 100644 --- a/Source/JavaScriptCore/heap/HandleBlockInlines.h +++ b/Source/JavaScriptCore/heap/HandleBlockInlines.h @@ -26,31 +26,26 @@ #ifndef HandleBlockInlines_h #define HandleBlockInlines_h +#include "BlockAllocator.h" #include "HandleBlock.h" -#include <wtf/FastMalloc.h> namespace JSC { -inline HandleBlock* HandleBlock::create(HandleSet* handleSet) +inline HandleBlock* HandleBlock::create(DeadBlock* block, HandleSet* handleSet) { - return new (NotNull, fastAlignedMalloc(blockSize, blockSize)) HandleBlock(handleSet); + Region* region = block->region(); + return new (NotNull, block) HandleBlock(region, handleSet); } -inline void HandleBlock::destroy(HandleBlock* block) -{ - block->~HandleBlock(); - fastAlignedFree(block); -} - -inline HandleBlock::HandleBlock(HandleSet* handleSet) - : DoublyLinkedListNode<HandleBlock>() +inline HandleBlock::HandleBlock(Region* region, HandleSet* handleSet) + : HeapBlock<HandleBlock>(region) , m_handleSet(handleSet) { } inline char* HandleBlock::payloadEnd() { - return reinterpret_cast<char*>(this) + blockSize; + return reinterpret_cast<char*>(this) + region()->blockSize(); } inline char* HandleBlock::payload() |
