Lines Matching refs:node
57 Node* node = &block[i];
58 new (node) Node(this);
59 m_freeList.push(node);
66 for (Node* node = m_strongList.begin(); node != end; node = node->next())
67 heapRootMarker.mark(node->slot());
75 for (Node* node = m_weakList.begin(); node != end; node = node->next()) {
76 ASSERT(isValidWeakNode(node));
77 JSCell* cell = node->slot()->asCell();
81 WeakHandleOwner* weakOwner = node->weakOwner();
85 if (!weakOwner->isReachableFromOpaqueRoots(Handle<Unknown>::wrapSlot(node->slot()), node->weakOwnerContext(), markStack))
88 heapRootMarker.mark(node->slot());
95 for (Node* node = m_weakList.begin(); node != end; node = m_nextToFinalize) {
96 m_nextToFinalize = node->next();
98 ASSERT(isValidWeakNode(node));
99 JSCell* cell = node->slot()->asCell();
103 if (WeakHandleOwner* weakOwner = node->weakOwner()) {
104 weakOwner->finalize(Handle<Unknown>::wrapSlot(node->slot()), node->weakOwnerContext());
105 if (m_nextToFinalize != node->next()) // Owner deallocated node.
109 *node->slot() = JSValue();
110 SentinelLinkedList<Node>::remove(node);
111 m_immediateList.push(node);
124 Node* node = toNode(slot);
125 SentinelLinkedList<Node>::remove(node);
127 m_immediateList.push(node);
131 if (node->isWeak()) {
132 m_weakList.push(node);
136 m_strongList.push(node);
143 for (Node* node = m_strongList.begin(); node != end; node = node->next()) {
144 JSValue value = *node->slot();
152 bool HandleHeap::isValidWeakNode(Node* node)
154 if (!node->isWeak())
157 JSValue value = *node->slot();