Changeset 113508 in webkit for trunk/Source/JavaScriptCore/heap/HandleSet.h
- Timestamp:
- Apr 6, 2012, 3:35:55 PM (13 years ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/heap/HandleSet.h
r113502 r113508 24 24 */ 25 25 26 #ifndef Handle Heap_h27 #define Handle Heap_h26 #ifndef HandleSet_h 27 #define HandleSet_h 28 28 29 29 #include <wtf/BlockStack.h> … … 35 35 namespace JSC { 36 36 37 class Handle Heap;37 class HandleSet; 38 38 class HeapRootVisitor; 39 39 class JSGlobalData; … … 41 41 class SlotVisitor; 42 42 43 class Handle Heap{43 class HandleSet { 44 44 public: 45 static Handle Heap* heapFor(HandleSlot);46 47 Handle Heap(JSGlobalData*);45 static HandleSet* heapFor(HandleSlot); 46 47 HandleSet(JSGlobalData*); 48 48 49 49 JSGlobalData* globalData(); … … 64 64 public: 65 65 Node(WTF::SentinelTag); 66 Node(Handle Heap*);66 Node(HandleSet*); 67 67 68 68 HandleSlot slot(); 69 Handle Heap* handleHeap();69 HandleSet* handleSet(); 70 70 71 71 void setPrev(Node*); … … 77 77 private: 78 78 JSValue m_value; 79 Handle Heap* m_handleHeap;79 HandleSet* m_handleSet; 80 80 Node* m_prev; 81 81 Node* m_next; … … 100 100 }; 101 101 102 inline Handle Heap* HandleHeap::heapFor(HandleSlot handle)103 { 104 return toNode(handle)->handle Heap();105 } 106 107 inline JSGlobalData* Handle Heap::globalData()102 inline HandleSet* HandleSet::heapFor(HandleSlot handle) 103 { 104 return toNode(handle)->handleSet(); 105 } 106 107 inline JSGlobalData* HandleSet::globalData() 108 108 { 109 109 return m_globalData; 110 110 } 111 111 112 inline HandleSlot Handle Heap::toHandle(Node* node)112 inline HandleSlot HandleSet::toHandle(Node* node) 113 113 { 114 114 return reinterpret_cast<HandleSlot>(node); 115 115 } 116 116 117 inline Handle Heap::Node* HandleHeap::toNode(HandleSlot handle)117 inline HandleSet::Node* HandleSet::toNode(HandleSlot handle) 118 118 { 119 119 return reinterpret_cast<Node*>(handle); 120 120 } 121 121 122 inline HandleSlot Handle Heap::allocate()122 inline HandleSlot HandleSet::allocate() 123 123 { 124 124 // Forbid assignment to handles during the finalization phase, since it would violate many GC invariants. … … 135 135 } 136 136 137 inline void Handle Heap::deallocate(HandleSlot handle)137 inline void HandleSet::deallocate(HandleSlot handle) 138 138 { 139 139 Node* node = toNode(handle); … … 147 147 } 148 148 149 inline Handle Heap::Node::Node(HandleHeap* handleHeap)150 : m_handle Heap(handleHeap)149 inline HandleSet::Node::Node(HandleSet* handleSet) 150 : m_handleSet(handleSet) 151 151 , m_prev(0) 152 152 , m_next(0) … … 154 154 } 155 155 156 inline Handle Heap::Node::Node(WTF::SentinelTag)157 : m_handle Heap(0)156 inline HandleSet::Node::Node(WTF::SentinelTag) 157 : m_handleSet(0) 158 158 , m_prev(0) 159 159 , m_next(0) … … 161 161 } 162 162 163 inline HandleSlot Handle Heap::Node::slot()163 inline HandleSlot HandleSet::Node::slot() 164 164 { 165 165 return &m_value; 166 166 } 167 167 168 inline Handle Heap* HandleHeap::Node::handleHeap()169 { 170 return m_handle Heap;171 } 172 173 inline void Handle Heap::Node::setPrev(Node* prev)168 inline HandleSet* HandleSet::Node::handleSet() 169 { 170 return m_handleSet; 171 } 172 173 inline void HandleSet::Node::setPrev(Node* prev) 174 174 { 175 175 m_prev = prev; 176 176 } 177 177 178 inline Handle Heap::Node* HandleHeap::Node::prev()178 inline HandleSet::Node* HandleSet::Node::prev() 179 179 { 180 180 return m_prev; 181 181 } 182 182 183 inline void Handle Heap::Node::setNext(Node* next)183 inline void HandleSet::Node::setNext(Node* next) 184 184 { 185 185 m_next = next; 186 186 } 187 187 188 inline Handle Heap::Node* HandleHeap::Node::next()188 inline HandleSet::Node* HandleSet::Node::next() 189 189 { 190 190 return m_next; 191 191 } 192 192 193 template<typename Functor> void Handle Heap::forEachStrongHandle(Functor& functor, const HashCountedSet<JSCell*>& skipSet)193 template<typename Functor> void HandleSet::forEachStrongHandle(Functor& functor, const HashCountedSet<JSCell*>& skipSet) 194 194 { 195 195 Node* end = m_strongList.end();
Note:
See TracChangeset
for help on using the changeset viewer.