Title: [269089] branches/safari-610-branch/Source/WTF
- Revision
- 269089
- Author
- [email protected]
- Date
- 2020-10-27 18:42:57 -0700 (Tue, 27 Oct 2020)
Log Message
Cherry-pick r269017. rdar://problem/70733371
Assert that WTF::HashTable does not visit the same bucket twice
https://bugs.webkit.org/show_bug.cgi?id=217691
<rdar://problem/69887843>
Reviewed by Saam Barati.
* wtf/HashTable.h:
(WTF::KeyTraits>::inlineLookup):
(WTF::KeyTraits>::lookupForWriting):
(WTF::KeyTraits>::fullLookupForWriting):
(WTF::KeyTraits>::addUniqueForInitialization):
(WTF::KeyTraits>::add):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-610-branch/Source/WTF/ChangeLog (269088 => 269089)
--- branches/safari-610-branch/Source/WTF/ChangeLog 2020-10-28 01:42:54 UTC (rev 269088)
+++ branches/safari-610-branch/Source/WTF/ChangeLog 2020-10-28 01:42:57 UTC (rev 269089)
@@ -1,5 +1,39 @@
2020-10-27 Russell Epstein <[email protected]>
+ Cherry-pick r269017. rdar://problem/70733371
+
+ Assert that WTF::HashTable does not visit the same bucket twice
+ https://bugs.webkit.org/show_bug.cgi?id=217691
+ <rdar://problem/69887843>
+
+ Reviewed by Saam Barati.
+
+ * wtf/HashTable.h:
+ (WTF::KeyTraits>::inlineLookup):
+ (WTF::KeyTraits>::lookupForWriting):
+ (WTF::KeyTraits>::fullLookupForWriting):
+ (WTF::KeyTraits>::addUniqueForInitialization):
+ (WTF::KeyTraits>::add):
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@269017 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2020-10-13 Tadeu Zagallo <[email protected]>
+
+ Assert that WTF::HashTable does not visit the same bucket twice
+ https://bugs.webkit.org/show_bug.cgi?id=217691
+ <rdar://problem/69887843>
+
+ Reviewed by Saam Barati.
+
+ * wtf/HashTable.h:
+ (WTF::KeyTraits>::inlineLookup):
+ (WTF::KeyTraits>::lookupForWriting):
+ (WTF::KeyTraits>::fullLookupForWriting):
+ (WTF::KeyTraits>::addUniqueForInitialization):
+ (WTF::KeyTraits>::add):
+
+2020-10-27 Russell Epstein <[email protected]>
+
Cherry-pick r268135. rdar://problem/70733407
Add maximum depth check to RedBlackTree
Modified: branches/safari-610-branch/Source/WTF/wtf/HashTable.h (269088 => 269089)
--- branches/safari-610-branch/Source/WTF/wtf/HashTable.h 2020-10-28 01:42:54 UTC (rev 269088)
+++ branches/safari-610-branch/Source/WTF/wtf/HashTable.h 2020-10-28 01:42:57 UTC (rev 269089)
@@ -675,6 +675,7 @@
unsigned sizeMask = tableSizeMask();
unsigned h = HashTranslator::hash(key);
unsigned i = h & sizeMask;
+ unsigned initialIndex = i;
#if DUMP_HASHTABLE_STATS
++HashTableStats::numAccesses;
@@ -714,6 +715,7 @@
if (k == 0)
k = 1 | doubleHash(h);
i = (i + k) & sizeMask;
+ RELEASE_ASSERT(i != initialIndex);
}
}
@@ -729,6 +731,7 @@
unsigned sizeMask = tableSizeMask();
unsigned h = HashTranslator::hash(key);
unsigned i = h & sizeMask;
+ unsigned initialIndex = i;
#if DUMP_HASHTABLE_STATS
++HashTableStats::numAccesses;
@@ -775,6 +778,7 @@
if (k == 0)
k = 1 | doubleHash(h);
i = (i + k) & sizeMask;
+ RELEASE_ASSERT(i != initialIndex);
}
}
@@ -790,6 +794,7 @@
unsigned sizeMask = tableSizeMask();
unsigned h = HashTranslator::hash(key);
unsigned i = h & sizeMask;
+ unsigned initialIndex = i;
#if DUMP_HASHTABLE_STATS
++HashTableStats::numAccesses;
@@ -836,6 +841,7 @@
if (k == 0)
k = 1 | doubleHash(h);
i = (i + k) & sizeMask;
+ RELEASE_ASSERT(i != initialIndex);
}
}
@@ -856,6 +862,7 @@
unsigned sizeMask = tableSizeMask();
unsigned h = HashTranslator::hash(key);
unsigned i = h & sizeMask;
+ unsigned initialIndex = i;
#if DUMP_HASHTABLE_STATS
++HashTableStats::numAccesses;
@@ -885,6 +892,7 @@
if (k == 0)
k = 1 | doubleHash(h);
i = (i + k) & sizeMask;
+ RELEASE_ASSERT(i != initialIndex);
}
HashTranslator::translate(*entry, std::forward<T>(key), std::forward<Extra>(extra));
@@ -937,6 +945,7 @@
unsigned sizeMask = tableSizeMask();
unsigned h = HashTranslator::hash(key);
unsigned i = h & sizeMask;
+ unsigned initialIndex = i;
#if DUMP_HASHTABLE_STATS
++HashTableStats::numAccesses;
@@ -983,6 +992,7 @@
if (k == 0)
k = 1 | doubleHash(h);
i = (i + k) & sizeMask;
+ RELEASE_ASSERT(i != initialIndex);
}
if (deletedEntry) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes