Index: Source/platform/heap/Handle.h |
diff --git a/Source/platform/heap/Handle.h b/Source/platform/heap/Handle.h |
index c5ee742a7cac682862787c6b372fa1cb1160a8b4..40cf7b16b1b71d6fd465edab4b706a2a4613b293 100644 |
--- a/Source/platform/heap/Handle.h |
+++ b/Source/platform/heap/Handle.h |
@@ -78,6 +78,7 @@ struct IsGarbageCollectedMixin { |
typedef WTF::IsSubclassOfTemplate5<NonConstType, HeapHashMap> HeapHashMapSubclass; \ |
typedef WTF::IsSubclassOfTemplateTypenameSize<NonConstType, HeapVector> HeapVectorSubclass; \ |
typedef WTF::IsSubclassOfTemplateTypenameSize<NonConstType, HeapDeque> HeapDequeSubclass; \ |
+ typedef WTF::IsSubclassOfTemplate3<NonConstType, HeapHashCountedSet> HeapHashCountedSetSubclass; \ |
typedef WTF::IsSubclassOfTemplate<NonConstType, HeapTerminatedArray> HeapTerminatedArraySubclass; \ |
COMPILE_ASSERT(GarbageCollectedSubclass::value || \ |
GarbageCollectedMixinSubclass::value || \ |
@@ -86,6 +87,7 @@ struct IsGarbageCollectedMixin { |
HeapHashMapSubclass::value || \ |
HeapVectorSubclass::value || \ |
HeapDequeSubclass::value || \ |
+ HeapHashCountedSetSubclass::value || \ |
HeapTerminatedArraySubclass::value, \ |
ErrorMessage); \ |
} while (0) |
@@ -440,6 +442,9 @@ template< |
typename TraitsArg = HashTraits<ValueArg> > |
class PersistentHeapLinkedHashSet : public PersistentHeapCollectionBase<HeapLinkedHashSet<ValueArg, HashArg, TraitsArg> > { }; |
+template<typename T, typename U, typename V> |
+class PersistentHeapHashCountedSet : public PersistentHeapCollectionBase<HeapHashCountedSet<T, U, V> > { }; |
+ |
template<typename T, size_t inlineCapacity = 0> |
class PersistentHeapVector : public PersistentHeapCollectionBase<HeapVector<T, inlineCapacity> > { |
public: |
@@ -767,6 +772,8 @@ template<typename T, typename U> inline bool operator!=(const Persistent<T>& a, |
#define WillBePersistentHeapVector WebCore::PersistentHeapVector |
#define WillBeHeapDeque WebCore::HeapDeque |
#define WillBePersistentHeapDeque WebCore::PersistentHeapDeque |
+#define WillBeHeapHashCountedSet WebCore::HeapHashCountedSet |
+#define WillBePersistentHeapHashCountedSet WebCore::PersistentHeapHashCountedSet |
#define WillBeGarbageCollectedMixin WebCore::GarbageCollectedMixin |
#define WillBeHeapSupplement WebCore::HeapSupplement |
#define WillBeHeapSupplementable WebCore::HeapSupplementable |
@@ -845,6 +852,8 @@ public: |
#define WillBePersistentHeapVector WTF::Vector |
#define WillBeHeapDeque WTF::Deque |
#define WillBePersistentHeapDeque WTF::Deque |
+#define WillBeHeapHeapCountedSet WTF::HeapCountedSet |
+#define WillBePersistentHeapHeapCountedSet WTF::HeapCountedSet |
#define WillBeGarbageCollectedMixin WebCore::DummyBase<void> |
#define WillBeHeapSupplement WebCore::Supplement |
#define WillBeHeapSupplementable WebCore::Supplementable |
@@ -1042,6 +1051,11 @@ struct NeedsTracing<Deque<T, N> > { |
}; |
template<typename T, typename U, typename V> |
+struct NeedsTracing<HashCountedSet<T, U, V> > { |
+ static const bool value = false; |
+}; |
+ |
+template<typename T, typename U, typename V> |
struct NeedsTracing<HashSet<T, U, V> > { |
static const bool value = false; |
}; |