WebKit Bugzilla
Attachment 369202 Details for
Bug 197637
: WTF::BitVector should have an isEmpty() method
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
patchIsEmptyBitVector (text/plain), 4.77 KB, created by
Robin Morisset
on 2019-05-06 16:43:25 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Robin Morisset
Created:
2019-05-06 16:43:25 PDT
Size:
4.77 KB
patch
obsolete
>diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog >index bde32b8c253..6c300eb71ea 100644 >--- a/Source/JavaScriptCore/ChangeLog >+++ b/Source/JavaScriptCore/ChangeLog >@@ -1,3 +1,14 @@ >+2019-05-06 Robin Morisset <rmorisset@apple.com> >+ >+ WTF::BitVector should have an isEmpty() method >+ https://bugs.webkit.org/show_bug.cgi?id=197637 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Just replaces some comparison of bitCount() to 0 by calls to isEmpty() >+ >+ * b3/air/AirAllocateRegistersByGraphColoring.cpp: >+ > 2019-05-03 Devin Rousso <drousso@apple.com> > > Web Inspector: Record actions performed on WebGL2RenderingContext >diff --git a/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp b/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp >index 8f497650acb..6471d15c09f 100644 >--- a/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp >+++ b/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp >@@ -324,7 +324,7 @@ protected: > void assignColors() > { > ASSERT(m_simplifyWorklist.isEmpty()); >- ASSERT(!m_spillWorklist.bitCount()); >+ ASSERT(m_spillWorklist.isEmpty()); > > // Reclaim as much memory as possible. > m_interferenceEdges.clear(); >@@ -669,7 +669,7 @@ public: > assertInvariants(); > } > >- if (m_spillWorklist.bitCount()) { >+ if (!m_spillWorklist.isEmpty()) { > selectSpill(); > changed = true; > ASSERT(m_simplifyWorklist.size() == 1); >@@ -678,7 +678,7 @@ public: > > if (!ASSERT_DISABLED) { > ASSERT(!m_simplifyWorklist.size()); >- ASSERT(!m_spillWorklist.bitCount()); >+ ASSERT(m_spillWorklist.isEmpty()); > IndexType firstNonRegIndex = m_lastPrecoloredRegisterIndex + 1; > for (IndexType i = firstNonRegIndex; i < m_degrees.size(); ++i) > ASSERT(hasBeenSimplified(i)); >@@ -992,14 +992,14 @@ public: > coalesce(); > else if (!m_freezeWorklist.isEmpty()) > freeze(); >- else if (m_spillWorklist.bitCount()) >+ else if (!m_spillWorklist.isEmpty()) > selectSpill(); > > if (traceDebug) { > dataLog("After Graph simplification iteration\n"); > dumpWorkLists(WTF::dataFile()); > } >- } while (!m_simplifyWorklist.isEmpty() || !m_worklistMoves.isEmpty() || !m_freezeWorklist.isEmpty() || m_spillWorklist.bitCount()); >+ } while (!m_simplifyWorklist.isEmpty() || !m_worklistMoves.isEmpty() || !m_freezeWorklist.isEmpty() || !m_spillWorklist.isEmpty()); > > assignColors(); > } >diff --git a/Source/WTF/ChangeLog b/Source/WTF/ChangeLog >index 963b1e92187..784fa589753 100644 >--- a/Source/WTF/ChangeLog >+++ b/Source/WTF/ChangeLog >@@ -1,3 +1,15 @@ >+2019-05-06 Robin Morisset <rmorisset@apple.com> >+ >+ WTF::BitVector should have an isEmpty() method >+ https://bugs.webkit.org/show_bug.cgi?id=197637 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * wtf/BitVector.cpp: >+ (WTF::BitVector::isEmptySlow const): >+ * wtf/BitVector.h: >+ (WTF::BitVector::isEmpty const): >+ > 2019-05-03 Commit Queue <commit-queue@webkit.org> > > Unreviewed, rolling out r244881. >diff --git a/Source/WTF/wtf/BitVector.cpp b/Source/WTF/wtf/BitVector.cpp >index 1cfe6261762..e125a950c84 100644 >--- a/Source/WTF/wtf/BitVector.cpp >+++ b/Source/WTF/wtf/BitVector.cpp >@@ -181,6 +181,17 @@ size_t BitVector::bitCountSlow() const > return result; > } > >+bool BitVector::isEmptySlow() const >+{ >+ ASSERT(!isInline()); >+ const OutOfLineBits* bits = outOfLineBits(); >+ for (unsigned i = bits->numWords(); i--;) { >+ if (bits->bits()[i]) >+ return false; >+ } >+ return true; >+} >+ > bool BitVector::equalsSlowCase(const BitVector& other) const > { > bool result = equalsSlowCaseFast(other); >diff --git a/Source/WTF/wtf/BitVector.h b/Source/WTF/wtf/BitVector.h >index b8bb365b59d..5f759708f05 100644 >--- a/Source/WTF/wtf/BitVector.h >+++ b/Source/WTF/wtf/BitVector.h >@@ -235,6 +235,13 @@ public: > return bitCount(cleanseInlineBits(m_bitsOrPointer)); > return bitCountSlow(); > } >+ >+ bool isEmpty() const >+ { >+ if (isInline()) >+ return !cleanseInlineBits(m_bitsOrPointer); >+ return isEmptySlow(); >+ } > > size_t findBit(size_t index, bool value) const > { >@@ -453,6 +460,7 @@ private: > WTF_EXPORT_PRIVATE void excludeSlow(const BitVector& other); > > WTF_EXPORT_PRIVATE size_t bitCountSlow() const; >+ WTF_EXPORT_PRIVATE bool isEmptySlow() const; > > WTF_EXPORT_PRIVATE bool equalsSlowCase(const BitVector& other) const; > bool equalsSlowCaseFast(const BitVector& other) const;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197637
: 369202 |
369222