Changeset 261486 in webkit
- Timestamp:
- May 11, 2020 12:05:00 PM (4 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r261484 r261486 1 2020-05-11 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, reverting r261440. 4 5 Caused 6 TestWTF.WTF failures 6 7 Reverted changeset: 8 9 "Add iterator checking to ListHashSet" 10 https://bugs.webkit.org/show_bug.cgi?id=211669 11 https://trac.webkit.org/changeset/261440 12 1 13 2020-05-11 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com> 2 14 -
trunk/Source/WTF/wtf/ListHashSet.h
r261440 r261486 24 24 #include <wtf/HashSet.h> 25 25 26 #if CHECK_HASHTABLE_ITERATORS27 #include <wtf/WeakPtr.h>28 #endif29 30 26 namespace WTF { 31 27 … … 50 46 template<typename HashArg> struct ListHashSetTranslator; 51 47 52 template<typename ValueArg, typename HashArg = typename DefaultHash<ValueArg>::Hash> class ListHashSet final 53 #if CHECK_HASHTABLE_ITERATORS 54 : public CanMakeWeakPtr<ListHashSet<ValueArg, HashArg>> 55 #endif 56 { 48 template<typename ValueArg, typename HashArg = typename DefaultHash<ValueArg>::Hash> class ListHashSet final { 57 49 WTF_MAKE_FAST_ALLOCATED; 58 50 private: … … 173 165 }; 174 166 175 template<typename ValueArg> struct ListHashSetNode 176 #if CHECK_HASHTABLE_ITERATORS 177 : CanMakeWeakPtr<ListHashSetNode<ValueArg>> 178 #endif 179 { 180 WTF_MAKE_STRUCT_FAST_ALLOCATED; 181 182 template<typename T> ListHashSetNode(T&& value) 167 template<typename ValueArg> struct ListHashSetNode { 168 WTF_MAKE_FAST_ALLOCATED; 169 public: 170 template<typename T> 171 ListHashSetNode(T&& value) 183 172 : m_value(std::forward<T>(value)) 184 173 { … … 259 248 : m_set(set) 260 249 , m_position(position) 261 #if CHECK_HASHTABLE_ITERATORS262 , m_weakSet(makeWeakPtr(set))263 , m_weakPosition(makeWeakPtr(position))264 #endif265 250 { 266 251 } … … 279 264 const ValueType* get() const 280 265 { 281 #if CHECK_HASHTABLE_ITERATORS282 ASSERT(m_weakPosition);283 #endif284 266 return std::addressof(m_position->m_value); 285 267 } … … 290 272 const_iterator& operator++() 291 273 { 292 #if CHECK_HASHTABLE_ITERATORS293 ASSERT(m_weakPosition);294 #endif295 274 ASSERT(m_position); 296 275 m_position = m_position->m_next; 297 #if CHECK_HASHTABLE_ITERATORS298 m_weakPosition = makeWeakPtr(m_position);299 #endif300 276 return *this; 301 277 } … … 305 281 const_iterator& operator--() 306 282 { 307 #if CHECK_HASHTABLE_ITERATORS308 ASSERT(m_weakSet);309 m_weakPosition.get();310 #endif311 283 ASSERT(m_position != m_set->m_head); 312 284 if (!m_position) … … 314 286 else 315 287 m_position = m_position->m_prev; 316 #if CHECK_HASHTABLE_ITERATORS317 m_weakPosition = makeWeakPtr(m_position);318 #endif319 288 return *this; 320 289 } … … 335 304 Node* node() { return m_position; } 336 305 337 const ListHashSetType* m_set { nullptr }; 338 Node* m_position { nullptr }; 339 #if CHECK_HASHTABLE_ITERATORS 340 WeakPtr<const ListHashSetType> m_weakSet; 341 WeakPtr<Node> m_weakPosition; 342 #endif 306 const ListHashSetType* m_set; 307 Node* m_position; 343 308 }; 344 309
Note: See TracChangeset
for help on using the changeset viewer.