| 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;
|
|
|