summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/HandleBlockInlines.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/heap/HandleBlockInlines.h')
-rw-r--r--Source/JavaScriptCore/heap/HandleBlockInlines.h19
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()