Changeset 245030 in webkit


Ignore:
Timestamp:
May 7, 2019 1:46:43 PM (5 years ago)
Author:
rmorisset@apple.com
Message:

WTF::BitVector should have an isEmpty() method
https://bugs.webkit.org/show_bug.cgi?id=197637

Reviewed by Keith Miller.

Source/JavaScriptCore:

Just replaces some comparison of bitCount() to 0 by calls to isEmpty()

  • b3/air/AirAllocateRegistersByGraphColoring.cpp:

Source/WTF:

  • wtf/BitVector.cpp:

(WTF::BitVector::isEmptySlow const):

  • wtf/BitVector.h:

(WTF::BitVector::isEmpty const):

Location:
trunk/Source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r245026 r245030  
     12019-05-07  Robin Morisset  <rmorisset@apple.com>
     2
     3        WTF::BitVector should have an isEmpty() method
     4        https://bugs.webkit.org/show_bug.cgi?id=197637
     5
     6        Reviewed by Keith Miller.
     7
     8        Just replaces some comparison of bitCount() to 0 by calls to isEmpty()
     9
     10        * b3/air/AirAllocateRegistersByGraphColoring.cpp:
     11
    1122019-05-07  Commit Queue  <commit-queue@webkit.org>
    213
  • trunk/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp

    r239427 r245030  
    325325    {
    326326        ASSERT(m_simplifyWorklist.isEmpty());
    327         ASSERT(!m_spillWorklist.bitCount());
     327        ASSERT(m_spillWorklist.isEmpty());
    328328
    329329        // Reclaim as much memory as possible.
     
    670670            }
    671671
    672             if (m_spillWorklist.bitCount()) {
     672            if (!m_spillWorklist.isEmpty()) {
    673673                selectSpill();
    674674                changed = true;
     
    679679        if (!ASSERT_DISABLED) {
    680680            ASSERT(!m_simplifyWorklist.size());
    681             ASSERT(!m_spillWorklist.bitCount());
     681            ASSERT(m_spillWorklist.isEmpty());
    682682            IndexType firstNonRegIndex = m_lastPrecoloredRegisterIndex + 1;
    683683            for (IndexType i = firstNonRegIndex; i < m_degrees.size(); ++i)
     
    993993            else if (!m_freezeWorklist.isEmpty())
    994994                freeze();
    995             else if (m_spillWorklist.bitCount())
     995            else if (!m_spillWorklist.isEmpty())
    996996                selectSpill();
    997997
     
    10001000                dumpWorkLists(WTF::dataFile());
    10011001            }
    1002         } while (!m_simplifyWorklist.isEmpty() || !m_worklistMoves.isEmpty() || !m_freezeWorklist.isEmpty() || m_spillWorklist.bitCount());
     1002        } while (!m_simplifyWorklist.isEmpty() || !m_worklistMoves.isEmpty() || !m_freezeWorklist.isEmpty() || !m_spillWorklist.isEmpty());
    10031003
    10041004        assignColors();
  • trunk/Source/WTF/ChangeLog

    r245028 r245030  
     12019-05-07  Robin Morisset  <rmorisset@apple.com>
     2
     3        WTF::BitVector should have an isEmpty() method
     4        https://bugs.webkit.org/show_bug.cgi?id=197637
     5
     6        Reviewed by Keith Miller.
     7
     8        * wtf/BitVector.cpp:
     9        (WTF::BitVector::isEmptySlow const):
     10        * wtf/BitVector.h:
     11        (WTF::BitVector::isEmpty const):
     12
    1132019-05-07  Brent Fulgham  <bfulgham@apple.com>
    214
  • trunk/Source/WTF/wtf/BitVector.cpp

    r237099 r245030  
    182182}
    183183
     184bool BitVector::isEmptySlow() const
     185{
     186    ASSERT(!isInline());
     187    const OutOfLineBits* bits = outOfLineBits();
     188    for (unsigned i = bits->numWords(); i--;) {
     189        if (bits->bits()[i])
     190            return false;
     191    }
     192    return true;
     193}
     194
    184195bool BitVector::equalsSlowCase(const BitVector& other) const
    185196{
  • trunk/Source/WTF/wtf/BitVector.h

    r240255 r245030  
    236236        return bitCountSlow();
    237237    }
     238
     239    bool isEmpty() const
     240    {
     241        if (isInline())
     242            return !cleanseInlineBits(m_bitsOrPointer);
     243        return isEmptySlow();
     244    }
    238245   
    239246    size_t findBit(size_t index, bool value) const
     
    454461   
    455462    WTF_EXPORT_PRIVATE size_t bitCountSlow() const;
     463    WTF_EXPORT_PRIVATE bool isEmptySlow() const;
    456464   
    457465    WTF_EXPORT_PRIVATE bool equalsSlowCase(const BitVector& other) const;
Note: See TracChangeset for help on using the changeset viewer.