Index: Source/platform/heap/ThreadState.h |
diff --git a/Source/platform/heap/ThreadState.h b/Source/platform/heap/ThreadState.h |
index f8be43aba42d510bd6d352964412105c38067e25..53c0cd0966d49515658d45e0fabc745391f485d3 100644 |
--- a/Source/platform/heap/ThreadState.h |
+++ b/Source/platform/heap/ThreadState.h |
@@ -56,6 +56,7 @@ class HeapContainsCache; |
class HeapObjectHeader; |
class PageMemory; |
class PersistentNode; |
+class WrapperPersistentRegion; |
class Visitor; |
class SafePointBarrier; |
class SafePointAwareMutexLocker; |
@@ -546,6 +547,14 @@ public: |
BaseHeapPage* contains(void* pointer) { return contains(reinterpret_cast<Address>(pointer)); } |
BaseHeapPage* contains(const void* pointer) { return contains(const_cast<void*>(pointer)); } |
+ WrapperPersistentRegion* wrapperRoots() const |
+ { |
+ ASSERT(m_liveWrapperPersistents); |
+ return m_liveWrapperPersistents; |
+ } |
+ WrapperPersistentRegion* takeWrapperPersistentRegion(); |
+ void freeWrapperPersistentRegion(WrapperPersistentRegion*); |
+ |
// List of persistent roots allocated on the given thread. |
PersistentNode* roots() const { return m_persistents.get(); } |
@@ -670,6 +679,9 @@ private: |
static uint8_t s_mainThreadStateStorage[]; |
ThreadIdentifier m_thread; |
+ WrapperPersistentRegion* m_liveWrapperPersistents; |
+ WrapperPersistentRegion* m_pooledWrapperPersistents; |
+ size_t m_pooledWrapperPersistentRegionCount; |
OwnPtr<PersistentNode> m_persistents; |
StackState m_stackState; |
intptr_t* m_startOfStack; |