Title: [167945] trunk/Source/_javascript_Core
Revision
167945
Author
mark....@apple.com
Date
2014-04-29 10:45:24 -0700 (Tue, 29 Apr 2014)

Log Message

Fix bit rot in zombie mode heap code.
<https://webkit.org/b/132342>

Reviewed by Mark Hahnenberg.

Need to enter a DelayedReleaseScope before doing a sweep.

* heap/Heap.cpp:
(JSC::Heap::zombifyDeadObjects):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (167944 => 167945)


--- trunk/Source/_javascript_Core/ChangeLog	2014-04-29 17:42:18 UTC (rev 167944)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-04-29 17:45:24 UTC (rev 167945)
@@ -1,3 +1,15 @@
+2014-04-29  Mark Lam  <mark....@apple.com>
+
+        Fix bit rot in zombie mode heap code.
+        <https://webkit.org/b/132342>
+
+        Reviewed by Mark Hahnenberg.
+
+        Need to enter a DelayedReleaseScope before doing a sweep.
+
+        * heap/Heap.cpp:
+        (JSC::Heap::zombifyDeadObjects):
+
 2014-04-29  Tomas Popela  <tpop...@redhat.com>
 
         LLINT loadisFromInstruction doesn't need special case for big endians

Modified: trunk/Source/_javascript_Core/heap/Heap.cpp (167944 => 167945)


--- trunk/Source/_javascript_Core/heap/Heap.cpp	2014-04-29 17:42:18 UTC (rev 167944)
+++ trunk/Source/_javascript_Core/heap/Heap.cpp	2014-04-29 17:45:24 UTC (rev 167945)
@@ -1340,7 +1340,11 @@
 void Heap::zombifyDeadObjects()
 {
     // Sweep now because destructors will crash once we're zombified.
-    m_objectSpace.sweep();
+    {
+        SamplingRegion samplingRegion("Garbage Collection: Sweeping");
+        DelayedReleaseScope delayedReleaseScope(m_objectSpace);
+        m_objectSpace.sweep();
+    }
     HeapIterationScope iterationScope(*this);
     m_objectSpace.forEachDeadCell<Zombify>(iterationScope);
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to