| Index: Source/wtf/ListHashSet.h
|
| diff --git a/Source/wtf/ListHashSet.h b/Source/wtf/ListHashSet.h
|
| index 12b83451ee425228c4dcd4541920936e131c0f8f..34ec3517b1ef0b3fbb785016e5a5c5f827d4d4d3 100644
|
| --- a/Source/wtf/ListHashSet.h
|
| +++ b/Source/wtf/ListHashSet.h
|
| @@ -59,7 +59,8 @@ namespace WTF {
|
| // Note that for a ListHashSet you cannot specify the HashTraits as a
|
| // template argument. It uses the default hash traits for the ValueArg
|
| // type.
|
| - template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash, typename AllocatorArg = ListHashSetAllocator<ValueArg, inlineCapacity> > class ListHashSet {
|
| + template<typename ValueArg, size_t inlineCapacity = 256, typename HashArg = typename DefaultHash<ValueArg>::Hash, typename AllocatorArg = ListHashSetAllocator<ValueArg, inlineCapacity> > class ListHashSet
|
| + : public HashTableDestructorBase<ListHashSet<ValueArg, inlineCapacity, HashArg, AllocatorArg>, AllocatorArg::isGarbageCollected> {
|
| typedef AllocatorArg Allocator;
|
| WTF_USE_ALLOCATOR(ListHashSet, Allocator);
|
|
|
| @@ -98,7 +99,7 @@ namespace WTF {
|
| ListHashSet();
|
| ListHashSet(const ListHashSet&);
|
| ListHashSet& operator=(const ListHashSet&);
|
| - ~ListHashSet();
|
| + void finalize();
|
|
|
| void swap(ListHashSet&);
|
|
|
| @@ -673,10 +674,10 @@ namespace WTF {
|
| }
|
|
|
| template<typename T, size_t inlineCapacity, typename U, typename V>
|
| - inline ListHashSet<T, inlineCapacity, U, V>::~ListHashSet()
|
| + inline void ListHashSet<T, inlineCapacity, U, V>::finalize()
|
| {
|
| - if (!Allocator::isGarbageCollected)
|
| - deleteAllNodes();
|
| + ASSERT(!Allocator::isGarbageCollected);
|
| + deleteAllNodes();
|
| }
|
|
|
| template<typename T, size_t inlineCapacity, typename U, typename V>
|
|
|