Index: Source/heap/Heap.h |
diff --git a/Source/heap/Heap.h b/Source/heap/Heap.h |
index 9df1a592aaa496061573d2c502059623a29db5d4..d8edb0bffa31783b9999e426e1b2a1f5e4fbe63c 100644 |
--- a/Source/heap/Heap.h |
+++ b/Source/heap/Heap.h |
@@ -1359,6 +1359,13 @@ struct ThreadingTrait<HashMap<Key, Value, HeapAllocator, T, U, V> > { |
&& (ThreadingTrait<Value>::Affinity == MainThreadOnly) ? MainThreadOnly : AnyThread; |
}; |
+template<typename First, typename Second> |
+struct ThreadingTrait<WTF::KeyValuePair<First, Second> > { |
+ static const ThreadAffinity Affinity = |
+ (ThreadingTrait<First>::Affinity == MainThreadOnly) |
+ && (ThreadingTrait<Second>::Affinity == MainThreadOnly) ? MainThreadOnly : AnyThread; |
+}; |
+ |
template<typename T, typename U, typename V> |
struct ThreadingTrait<HashSet<T, HeapAllocator, U, V> > { |
static const ThreadAffinity Affinity = ThreadingTrait<T>::Affinity; |