Changeset 269017 in webkit


Ignore:
Timestamp:
Oct 26, 2020 7:04:13 PM (3 years ago)
Author:
Tadeu Zagallo
Message:

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):

Location:
trunk/Source/WTF
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r268993 r269017  
     12020-10-13  Tadeu Zagallo  <tzagallo@apple.com>
     2
     3        Assert that WTF::HashTable does not visit the same bucket twice
     4        https://bugs.webkit.org/show_bug.cgi?id=217691
     5        <rdar://problem/69887843>
     6
     7        Reviewed by Saam Barati.
     8
     9        * wtf/HashTable.h:
     10        (WTF::KeyTraits>::inlineLookup):
     11        (WTF::KeyTraits>::lookupForWriting):
     12        (WTF::KeyTraits>::fullLookupForWriting):
     13        (WTF::KeyTraits>::addUniqueForInitialization):
     14        (WTF::KeyTraits>::add):
     15
    1162020-10-26  Alex Christensen  <achristensen@webkit.org>
    217
  • trunk/Source/WTF/wtf/HashTable.h

    r261393 r269017  
    676676        unsigned h = HashTranslator::hash(key);
    677677        unsigned i = h & sizeMask;
     678        unsigned initialIndex = i;
    678679
    679680#if DUMP_HASHTABLE_STATS
     
    715716                k = 1 | doubleHash(h);
    716717            i = (i + k) & sizeMask;
     718            RELEASE_ASSERT(i != initialIndex);
    717719        }
    718720    }
     
    730732        unsigned h = HashTranslator::hash(key);
    731733        unsigned i = h & sizeMask;
     734        unsigned initialIndex = i;
    732735
    733736#if DUMP_HASHTABLE_STATS
     
    776779                k = 1 | doubleHash(h);
    777780            i = (i + k) & sizeMask;
     781            RELEASE_ASSERT(i != initialIndex);
    778782        }
    779783    }
     
    791795        unsigned h = HashTranslator::hash(key);
    792796        unsigned i = h & sizeMask;
     797        unsigned initialIndex = i;
    793798
    794799#if DUMP_HASHTABLE_STATS
     
    837842                k = 1 | doubleHash(h);
    838843            i = (i + k) & sizeMask;
     844            RELEASE_ASSERT(i != initialIndex);
    839845        }
    840846    }
     
    857863        unsigned h = HashTranslator::hash(key);
    858864        unsigned i = h & sizeMask;
     865        unsigned initialIndex = i;
    859866
    860867#if DUMP_HASHTABLE_STATS
     
    886893                k = 1 | doubleHash(h);
    887894            i = (i + k) & sizeMask;
     895            RELEASE_ASSERT(i != initialIndex);
    888896        }
    889897
     
    938946        unsigned h = HashTranslator::hash(key);
    939947        unsigned i = h & sizeMask;
     948        unsigned initialIndex = i;
    940949
    941950#if DUMP_HASHTABLE_STATS
     
    984993                k = 1 | doubleHash(h);
    985994            i = (i + k) & sizeMask;
     995            RELEASE_ASSERT(i != initialIndex);
    986996        }
    987997
Note: See TracChangeset for help on using the changeset viewer.