| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights reserv
ed. | 2 * Copyright (C) 2005, 2006, 2007, 2008, 2011, 2012 Apple Inc. All rights reserv
ed. |
| 3 * Copyright (C) 2011, Benjamin Poulain <ikipou@gmail.com> | 3 * Copyright (C) 2011, Benjamin Poulain <ikipou@gmail.com> |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 980 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 991 | 991 |
| 992 for (Node* node = m_head, *next = m_head->next(); node; node = next, nex
t = node ? node->next() : 0) | 992 for (Node* node = m_head, *next = m_head->next(); node; node = next, nex
t = node ? node->next() : 0) |
| 993 node->destroy(this->allocator()); | 993 node->destroy(this->allocator()); |
| 994 } | 994 } |
| 995 | 995 |
| 996 template<typename T, size_t inlineCapacity, typename U, typename V> | 996 template<typename T, size_t inlineCapacity, typename U, typename V> |
| 997 void ListHashSet<T, inlineCapacity, U, V>::trace(typename Allocator::Visitor
* visitor) | 997 void ListHashSet<T, inlineCapacity, U, V>::trace(typename Allocator::Visitor
* visitor) |
| 998 { | 998 { |
| 999 COMPILE_ASSERT(HashTraits<T>::weakHandlingFlag == NoWeakHandlingInCollec
tions, ListHashSetDoesNotSupportWeakness); | 999 COMPILE_ASSERT(HashTraits<T>::weakHandlingFlag == NoWeakHandlingInCollec
tions, ListHashSetDoesNotSupportWeakness); |
| 1000 // This marks all the nodes and their contents live that can be | 1000 // This marks all the nodes and their contents live that can be |
| 1001 // accessed through the HashTable. | 1001 // accessed through the HashTable. That includes m_head and m_tail |
| 1002 // so we do not have to explicitly trace them here. |
| 1002 m_impl.trace(visitor); | 1003 m_impl.trace(visitor); |
| 1003 // Due to the order in which entries are added to the hash table vs. | |
| 1004 // when they are put in the linked list we have now marked all the | |
| 1005 // nodes live. | |
| 1006 ASSERT(!m_head || Allocator::isAlive(visitor, m_head)); | |
| 1007 ASSERT(!m_tail || Allocator::isAlive(visitor, m_tail)); | |
| 1008 } | 1004 } |
| 1009 | 1005 |
| 1010 } // namespace WTF | 1006 } // namespace WTF |
| 1011 | 1007 |
| 1012 using WTF::ListHashSet; | 1008 using WTF::ListHashSet; |
| 1013 | 1009 |
| 1014 #endif /* WTF_ListHashSet_h */ | 1010 #endif /* WTF_ListHashSet_h */ |
| OLD | NEW |