Chromium Code Reviews| 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); |
|
Mikhail
2014/05/09 08:06:36
think now it can be COMPILE_ASSERT
zerny-chromium
2014/05/09 09:19:48
Done.
|
| + deleteAllNodes(); |
| } |
| template<typename T, size_t inlineCapacity, typename U, typename V> |