Title: [119909] trunk/Source/_javascript_Core
- Revision
- 119909
- Author
- [email protected]
- Date
- 2012-06-09 10:34:30 -0700 (Sat, 09 Jun 2012)
Log Message
Unreviewed, rolling back in part2 of r118646.
This patch removes eager finalization.
Weak pointer finalization should be lazy
https://bugs.webkit.org/show_bug.cgi?id=87599
Reviewed by Sam Weinig.
* heap/Heap.cpp:
(JSC::Heap::collect): Don't finalize eagerly -- we'll do it lazily.
* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::sweep): Do sweep weak sets when sweeping a block,
since we won't get another chance.
* heap/MarkedBlock.h:
(JSC::MarkedBlock::sweepWeakSet):
* heap/MarkedSpace.cpp:
(MarkedSpace::WeakSetSweep):
* heap/MarkedSpace.h:
(JSC::MarkedSpace::sweepWeakSets): Removed now-unused code.
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (119908 => 119909)
--- trunk/Source/_javascript_Core/ChangeLog 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/ChangeLog 2012-06-09 17:34:30 UTC (rev 119909)
@@ -1,3 +1,28 @@
+2012-06-09 Geoffrey Garen <[email protected]>
+
+ Unreviewed, rolling back in part2 of r118646.
+
+ This patch removes eager finalization.
+
+ Weak pointer finalization should be lazy
+ https://bugs.webkit.org/show_bug.cgi?id=87599
+
+ Reviewed by Sam Weinig.
+
+ * heap/Heap.cpp:
+ (JSC::Heap::collect): Don't finalize eagerly -- we'll do it lazily.
+
+ * heap/MarkedBlock.cpp:
+ (JSC::MarkedBlock::sweep): Do sweep weak sets when sweeping a block,
+ since we won't get another chance.
+
+ * heap/MarkedBlock.h:
+ (JSC::MarkedBlock::sweepWeakSet):
+ * heap/MarkedSpace.cpp:
+ (MarkedSpace::WeakSetSweep):
+ * heap/MarkedSpace.h:
+ (JSC::MarkedSpace::sweepWeakSets): Removed now-unused code.
+
2012-06-09 Sukolsak Sakshuwong <[email protected]>
Add UNDO_MANAGER flag
@@ -7,7 +32,7 @@
* Configurations/FeatureDefines.xcconfig:
-2012-06-02 Geoffrey Garen <[email protected]>
+2012-06-08 Geoffrey Garen <[email protected]>
Unreviewed, rolling back in part1 of r118646.
Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (119908 => 119909)
--- trunk/Source/_javascript_Core/heap/Heap.cpp 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp 2012-06-09 17:34:30 UTC (rev 119909)
@@ -734,8 +734,7 @@
}
{
- GCPHASE(FinalizeWeakHandles);
- m_objectSpace.sweepWeakSets();
+ GCPHASE(finalizeSmallStrings);
m_globalData->smallStrings.finalizeSmallStrings();
}
Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.cpp (119908 => 119909)
--- trunk/Source/_javascript_Core/heap/MarkedBlock.cpp 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.cpp 2012-06-09 17:34:30 UTC (rev 119909)
@@ -114,6 +114,8 @@
{
HEAP_LOG_BLOCK_STATE_TRANSITION(this);
+ m_weakSet.sweep();
+
if (sweepMode == SweepOnly && !m_cellsNeedDestruction)
return FreeList();
Modified: trunk/Source/_javascript_Core/heap/MarkedBlock.h (119908 => 119909)
--- trunk/Source/_javascript_Core/heap/MarkedBlock.h 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/heap/MarkedBlock.h 2012-06-09 17:34:30 UTC (rev 119909)
@@ -132,7 +132,6 @@
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
@@ -283,11 +282,6 @@
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 (119908 => 119909)
--- trunk/Source/_javascript_Core/heap/MarkedSpace.cpp 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/heap/MarkedSpace.cpp 2012-06-09 17:34:30 UTC (rev 119909)
@@ -77,10 +77,6 @@
void operator()(MarkedBlock* block) { block->reapWeakSet(); }
};
-struct SweepWeakSet : MarkedBlock::VoidFunctor {
- void operator()(MarkedBlock* block) { block->sweepWeakSet(); }
-};
-
MarkedSpace::MarkedSpace(Heap* heap)
: m_heap(heap)
{
@@ -136,11 +132,6 @@
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 (119908 => 119909)
--- trunk/Source/_javascript_Core/heap/MarkedSpace.h 2012-06-09 17:11:58 UTC (rev 119908)
+++ trunk/Source/_javascript_Core/heap/MarkedSpace.h 2012-06-09 17:34:30 UTC (rev 119909)
@@ -85,7 +85,6 @@
void visitWeakSets(HeapRootVisitor&);
void reapWeakSets();
- void sweepWeakSets();
MarkedBlockSet& blocks() { return m_blocks; }
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes