Title: [152744] branches/dfgFourthTier/Source/_javascript_Core
- Revision
- 152744
- Author
- [email protected]
- Date
- 2013-07-16 15:08:21 -0700 (Tue, 16 Jul 2013)
Log Message
fourthTier: don't GC when shutting down the VM
https://bugs.webkit.org/show_bug.cgi?id=118751
Reviewed by Mark Hahnenberg.
* heap/Heap.h:
(Heap):
* runtime/VM.cpp:
(JSC::VM::~VM):
Modified Paths
Diff
Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (152743 => 152744)
--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-07-16 22:03:18 UTC (rev 152743)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog 2013-07-16 22:08:21 UTC (rev 152744)
@@ -1,3 +1,15 @@
+2013-07-16 Filip Pizlo <[email protected]>
+
+ fourthTier: don't GC when shutting down the VM
+ https://bugs.webkit.org/show_bug.cgi?id=118751
+
+ Reviewed by Mark Hahnenberg.
+
+ * heap/Heap.h:
+ (Heap):
+ * runtime/VM.cpp:
+ (JSC::VM::~VM):
+
2013-07-12 Filip Pizlo <[email protected]>
fourthTier: DFG should have an SSA form for use by FTL
Modified: branches/dfgFourthTier/Source/_javascript_Core/heap/Heap.h (152743 => 152744)
--- branches/dfgFourthTier/Source/_javascript_Core/heap/Heap.h 2013-07-16 22:03:18 UTC (rev 152743)
+++ branches/dfgFourthTier/Source/_javascript_Core/heap/Heap.h 2013-07-16 22:08:21 UTC (rev 152744)
@@ -195,6 +195,7 @@
friend class SlotVisitor;
friend class IncrementalSweeper;
friend class HeapStatistics;
+ friend class VM;
friend class WeakSet;
template<typename T> friend void* allocateCell(Heap&);
template<typename T> friend void* allocateCell(Heap&, size_t);
Modified: branches/dfgFourthTier/Source/_javascript_Core/runtime/VM.cpp (152743 => 152744)
--- branches/dfgFourthTier/Source/_javascript_Core/runtime/VM.cpp 2013-07-16 22:03:18 UTC (rev 152743)
+++ branches/dfgFourthTier/Source/_javascript_Core/runtime/VM.cpp 2013-07-16 22:08:21 UTC (rev 152744)
@@ -264,9 +264,12 @@
VM::~VM()
{
+ // Never GC, ever again.
+ heap.incrementDeferralDepth();
+
#if ENABLE(DFG_JIT)
- // Make sure concurrent compilations are done, but don't install them, since installing
- // them might cause a GC. We don't want to GC right now.
+ // Make sure concurrent compilations are done, but don't install them, since there is
+ // no point to doing so.
if (worklist) {
worklist->waitUntilAllPlansForVMAreReady(*this);
worklist->removeAllReadyPlansForVM(*this);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes