Title: [245030] trunk/Source
- Revision
- 245030
- Author
- rmoris...@apple.com
- Date
- 2019-05-07 13:46:43 -0700 (Tue, 07 May 2019)
Log Message
WTF::BitVector should have an isEmpty() method
https://bugs.webkit.org/show_bug.cgi?id=197637
Reviewed by Keith Miller.
Source/_javascript_Core:
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):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (245029 => 245030)
--- trunk/Source/_javascript_Core/ChangeLog 2019-05-07 20:32:04 UTC (rev 245029)
+++ trunk/Source/_javascript_Core/ChangeLog 2019-05-07 20:46:43 UTC (rev 245030)
@@ -1,3 +1,14 @@
+2019-05-07 Robin Morisset <rmoris...@apple.com>
+
+ WTF::BitVector should have an isEmpty() method
+ https://bugs.webkit.org/show_bug.cgi?id=197637
+
+ Reviewed by Keith Miller.
+
+ Just replaces some comparison of bitCount() to 0 by calls to isEmpty()
+
+ * b3/air/AirAllocateRegistersByGraphColoring.cpp:
+
2019-05-07 Commit Queue <commit-qu...@webkit.org>
Unreviewed, rolling out r244978.
Modified: trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp (245029 => 245030)
--- trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp 2019-05-07 20:32:04 UTC (rev 245029)
+++ trunk/Source/_javascript_Core/b3/air/AirAllocateRegistersByGraphColoring.cpp 2019-05-07 20:46:43 UTC (rev 245030)
@@ -324,7 +324,7 @@
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 @@
assertInvariants();
}
- if (m_spillWorklist.bitCount()) {
+ if (!m_spillWorklist.isEmpty()) {
selectSpill();
changed = true;
ASSERT(m_simplifyWorklist.size() == 1);
@@ -678,7 +678,7 @@
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,7 +992,7 @@
coalesce();
else if (!m_freezeWorklist.isEmpty())
freeze();
- else if (m_spillWorklist.bitCount())
+ else if (!m_spillWorklist.isEmpty())
selectSpill();
if (traceDebug) {
@@ -999,7 +999,7 @@
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();
}
Modified: trunk/Source/WTF/ChangeLog (245029 => 245030)
--- trunk/Source/WTF/ChangeLog 2019-05-07 20:32:04 UTC (rev 245029)
+++ trunk/Source/WTF/ChangeLog 2019-05-07 20:46:43 UTC (rev 245030)
@@ -1,3 +1,15 @@
+2019-05-07 Robin Morisset <rmoris...@apple.com>
+
+ WTF::BitVector should have an isEmpty() method
+ https://bugs.webkit.org/show_bug.cgi?id=197637
+
+ Reviewed by Keith Miller.
+
+ * wtf/BitVector.cpp:
+ (WTF::BitVector::isEmptySlow const):
+ * wtf/BitVector.h:
+ (WTF::BitVector::isEmpty const):
+
2019-05-07 Brent Fulgham <bfulg...@apple.com>
Correct JSON parser to address unterminated escape character
Modified: trunk/Source/WTF/wtf/BitVector.cpp (245029 => 245030)
--- trunk/Source/WTF/wtf/BitVector.cpp 2019-05-07 20:32:04 UTC (rev 245029)
+++ trunk/Source/WTF/wtf/BitVector.cpp 2019-05-07 20:46:43 UTC (rev 245030)
@@ -181,6 +181,17 @@
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);
Modified: trunk/Source/WTF/wtf/BitVector.h (245029 => 245030)
--- trunk/Source/WTF/wtf/BitVector.h 2019-05-07 20:32:04 UTC (rev 245029)
+++ trunk/Source/WTF/wtf/BitVector.h 2019-05-07 20:46:43 UTC (rev 245030)
@@ -235,6 +235,13 @@
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 @@
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;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes