Title: [275411] trunk/Source/WTF
Revision
275411
Author
ysuz...@apple.com
Date
2021-04-02 01:50:20 -0700 (Fri, 02 Apr 2021)

Log Message

Unreviewed, fix passing hash value
https://bugs.webkit.org/show_bug.cgi?id=223895

* wtf/RobinHoodHashTable.h:
(WTF::SizePolicy>::addPassingHashCode):

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (275410 => 275411)


--- trunk/Source/WTF/ChangeLog	2021-04-02 08:33:32 UTC (rev 275410)
+++ trunk/Source/WTF/ChangeLog	2021-04-02 08:50:20 UTC (rev 275411)
@@ -1,3 +1,11 @@
+2021-04-02  Yusuke Suzuki  <ysuz...@apple.com>
+
+        Unreviewed, fix passing hash value
+        https://bugs.webkit.org/show_bug.cgi?id=223895
+
+        * wtf/RobinHoodHashTable.h:
+        (WTF::SizePolicy>::addPassingHashCode):
+
 2021-04-01  Yusuke Suzuki  <ysuz...@apple.com>
 
         [WTF] Introduce RobinHoodHashTable

Modified: trunk/Source/WTF/wtf/RobinHoodHashTable.h (275410 => 275411)


--- trunk/Source/WTF/wtf/RobinHoodHashTable.h	2021-04-02 08:33:32 UTC (rev 275410)
+++ trunk/Source/WTF/wtf/RobinHoodHashTable.h	2021-04-02 08:50:20 UTC (rev 275411)
@@ -492,7 +492,8 @@
     unsigned size = tableSize();
     unsigned sizeMask = tableSizeMask();
     unsigned tableHash = this->tableHash();
-    unsigned hash = HashTranslator::hash(key) ^ tableHash;
+    unsigned originalHash = HashTranslator::hash(key);
+    unsigned hash = originalHash ^ tableHash;
     unsigned index = desiredIndex(hash, sizeMask);
     unsigned distance = 0;
 
@@ -502,7 +503,7 @@
         if (isEmptyBucket(*entry)) {
             if (distance >= probeDistanceThreshold)
                 m_willExpand = true;
-            HashTranslator::translate(*entry, std::forward<T>(key), std::forward<Extra>(extra), hash);
+            HashTranslator::translate(*entry, std::forward<T>(key), std::forward<Extra>(extra), originalHash);
             break;
         }
 
@@ -516,7 +517,7 @@
             ValueType existingEntry = WTFMove(*entry);
             entry->~ValueType();
             initializeBucket(*entry);
-            HashTranslator::translate(*entry, std::forward<T>(key), std::forward<Extra>(extra), hash);
+            HashTranslator::translate(*entry, std::forward<T>(key), std::forward<Extra>(extra), originalHash);
             maintainProbeDistanceForAdd(WTFMove(existingEntry), index, entryDistance, size, sizeMask, tableHash);
             break;
         }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to