Title: [118718] trunk/Source/_javascript_Core
Revision
118718
Author
commit-qu...@webkit.org
Date
2012-05-28 20:24:49 -0700 (Mon, 28 May 2012)

Log Message

Unreviewed, rolling out r118646.
http://trac.webkit.org/changeset/118646
https://bugs.webkit.org/show_bug.cgi?id=87691

broke V8 raytrace benchmark (Requested by pizlo_ on #webkit).

Patch by Sheriff Bot <webkit.review....@gmail.com> on 2012-05-28

* heap/Heap.cpp:
(JSC::Heap::collect):
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::sweepWeakSet):
(JSC):
* heap/MarkedSpace.cpp:
(JSC::SweepWeakSet::operator()):
(JSC):
(JSC::MarkedSpace::sweepWeakSets):
* heap/MarkedSpace.h:
(MarkedSpace):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (118717 => 118718)


--- trunk/Source/_javascript_Core/ChangeLog	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-05-29 03:24:49 UTC (rev 118718)
@@ -1,3 +1,25 @@
+2012-05-28  Sheriff Bot  <webkit.review....@gmail.com>
+
+        Unreviewed, rolling out r118646.
+        http://trac.webkit.org/changeset/118646
+        https://bugs.webkit.org/show_bug.cgi?id=87691
+
+        broke V8 raytrace benchmark (Requested by pizlo_ on #webkit).
+
+        * heap/Heap.cpp:
+        (JSC::Heap::collect):
+        * heap/MarkedBlock.cpp:
+        (JSC::MarkedBlock::sweep):
+        * heap/MarkedBlock.h:
+        (JSC::MarkedBlock::sweepWeakSet):
+        (JSC):
+        * heap/MarkedSpace.cpp:
+        (JSC::SweepWeakSet::operator()):
+        (JSC):
+        (JSC::MarkedSpace::sweepWeakSets):
+        * heap/MarkedSpace.h:
+        (MarkedSpace):
+
 2012-05-28  Filip Pizlo  <fpi...@apple.com>
 
         DFG should not generate code for code that the CFA proves to be unreachable

Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (118717 => 118718)


--- trunk/Source/_javascript_Core/heap/Heap.cpp	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp	2012-05-29 03:24:49 UTC (rev 118718)
@@ -687,6 +687,7 @@
 
     {
         GCPHASE(FinalizeWeakHandles);
+        m_objectSpace.sweepWeakSets();
         m_globalData->smallStrings.finalizeSmallStrings();
     }
     

Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.cpp (118717 => 118718)


--- trunk/Source/_javascript_Core/heap/MarkedBlock.cpp	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.cpp	2012-05-29 03:24:49 UTC (rev 118718)
@@ -114,8 +114,6 @@
 {
     HEAP_LOG_BLOCK_STATE_TRANSITION(this);
 
-    m_weakSet.sweep();
-
     if (sweepMode == SweepOnly && !m_cellsNeedDestruction)
         return FreeList();
 

Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.h (118717 => 118718)


--- trunk/Source/_javascript_Core/heap/MarkedBlock.h	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.h	2012-05-29 03:24:49 UTC (rev 118718)
@@ -133,6 +133,7 @@
 
         void visitWeakSet(HeapRootVisitor&);
         void reapWeakSet();
+        void sweepWeakSet();
 
         // While allocating from a free list, MarkedBlock temporarily has bogus
         // cell liveness data. To restore accurate cell liveness data, call one
@@ -286,6 +287,11 @@
         m_weakSet.reap();
     }
 
+    inline void MarkedBlock::sweepWeakSet()
+    {
+        m_weakSet.sweep();
+    }
+
     inline void MarkedBlock::didConsumeFreeList()
     {
         HEAP_LOG_BLOCK_STATE_TRANSITION(this);

Modified: trunk/Source/_javascript_Core/heap/MarkedSpace.cpp (118717 => 118718)


--- trunk/Source/_javascript_Core/heap/MarkedSpace.cpp	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/heap/MarkedSpace.cpp	2012-05-29 03:24:49 UTC (rev 118718)
@@ -77,6 +77,10 @@
     void operator()(MarkedBlock* block) { block->reapWeakSet(); }
 };
 
+struct SweepWeakSet : MarkedBlock::VoidFunctor {
+    void operator()(MarkedBlock* block) { block->sweepWeakSet(); }
+};
+
 MarkedSpace::MarkedSpace(Heap* heap)
     : m_heap(heap)
 {
@@ -138,6 +142,11 @@
     forEachBlock<ReapWeakSet>();
 }
 
+void MarkedSpace::sweepWeakSets()
+{
+    forEachBlock<SweepWeakSet>();
+}
+
 void MarkedSpace::canonicalizeCellLivenessData()
 {
     for (size_t cellSize = preciseStep; cellSize <= preciseCutoff; cellSize += preciseStep) {

Modified: trunk/Source/_javascript_Core/heap/MarkedSpace.h (118717 => 118718)


--- trunk/Source/_javascript_Core/heap/MarkedSpace.h	2012-05-29 03:04:49 UTC (rev 118717)
+++ trunk/Source/_javascript_Core/heap/MarkedSpace.h	2012-05-29 03:24:49 UTC (rev 118718)
@@ -85,6 +85,7 @@
 
     void visitWeakSets(HeapRootVisitor&);
     void reapWeakSets();
+    void sweepWeakSets();
 
     MarkedBlockSet& blocks() { return m_blocks; }
     
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to