summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/heap/WeakBlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/heap/WeakBlock.h')
-rw-r--r--Source/JavaScriptCore/heap/WeakBlock.h12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/JavaScriptCore/heap/WeakBlock.h b/Source/JavaScriptCore/heap/WeakBlock.h
index 6461f7b2f..fd28101fd 100644
--- a/Source/JavaScriptCore/heap/WeakBlock.h
+++ b/Source/JavaScriptCore/heap/WeakBlock.h
@@ -34,14 +34,15 @@
namespace JSC {
+class DeadBlock;
class HeapRootVisitor;
class JSValue;
class WeakHandleOwner;
-class WeakBlock : public DoublyLinkedListNode<WeakBlock> {
+class WeakBlock : public HeapBlock<WeakBlock> {
public:
friend class WTF::DoublyLinkedListNode<WeakBlock>;
- static const size_t blockSize = 3 * KB; // 5% of MarkedBlock size
+ static const size_t blockSize = 4 * KB; // 5% of MarkedBlock size
struct FreeCell {
FreeCell* next;
@@ -55,8 +56,7 @@ public:
FreeCell* freeList;
};
- static WeakBlock* create();
- static void destroy(WeakBlock*);
+ static WeakBlock* create(DeadBlock*);
static WeakImpl* asWeakImpl(FreeCell*);
@@ -73,15 +73,13 @@ public:
private:
static FreeCell* asFreeCell(WeakImpl*);
- WeakBlock();
+ WeakBlock(Region*);
WeakImpl* firstWeakImpl();
void finalize(WeakImpl*);
WeakImpl* weakImpls();
size_t weakImplCount();
void addToFreeList(FreeCell**, WeakImpl*);
- WeakBlock* m_prev;
- WeakBlock* m_next;
SweepResult m_sweepResult;
};