Home | History | Annotate | Download | only in heap

Lines Matching refs:WrapperPersistentNode

158 class WrapperPersistentNode {
160 WTF_MAKE_NONCOPYABLE(WrapperPersistentNode);
172 static inline void destroy(const WrapperPersistentNode*);
175 WrapperPersistentNode() : m_raw(0), m_regionOffset(0) { }
176 WrapperPersistentNode(void *raw, size_t regionOffset) : m_raw(raw), m_regionOffset(regionOffset) { }
181 WrapperPersistentNode* takeSlot()
185 WrapperPersistentNode* nextFree = reinterpret_cast<WrapperPersistentNode*>(m_raw);
190 WrapperPersistentNode* freeSlot(WrapperPersistentNode* nextFree)
203 // m_raw is used both to point to the object when the WrapperPersistentNode is used/alive
204 // and to point to the next free wrapperPersistentNode in the region when the node is
216 class WrapperPersistent FINAL : public WrapperPersistentNode {
232 WrapperPersistent(T* raw, size_t regionOffset) : WrapperPersistentNode(raw, regionOffset) { }
243 WrapperPersistentNode* nextFree = 0;
249 new (&m_entries[i]) WrapperPersistentNode(nextFree, regionOffset);
265 WrapperPersistentNode* freeSlot = m_freeHead;
273 void free(WrapperPersistentNode* object)
315 WrapperPersistentNode* m_freeHead;
317 WrapperPersistentNode m_entries[wrapperPersistentsPerRegion];
330 ASSERT(!reinterpret_cast<WrapperPersistentNode*>(persistentSlot)->isAlive());
340 void WrapperPersistentNode::destroy(const WrapperPersistentNode* node)
342 WrapperPersistentNode* persistent = const_cast<WrapperPersistentNode*>(node);