Bug 1322536 - Make some mScanInProgress checks fatal in release builds. r=smaug draft
authorAndrew McCreight <continuation@gmail.com>
Thu, 08 Dec 2016 11:03:42 -1000
changeset 447999 4c627154d71a9fe83780fbdb98087937d438581c
parent 447759 c2526f6786f074888d71c8e166a02aea3e19e75b
child 539185 f156c31a0202d32ab306bdbe386c108ed34e6998
push id38229
push userbmo:continuation@gmail.com
push dateThu, 08 Dec 2016 22:55:18 +0000
reviewerssmaug
bugs1322536
milestone53.0a1
Bug 1322536 - Make some mScanInProgress checks fatal in release builds. r=smaug MozReview-Commit-ID: 2hNtePfSxkF
xpcom/base/nsCycleCollector.cpp
--- a/xpcom/base/nsCycleCollector.cpp
+++ b/xpcom/base/nsCycleCollector.cpp
@@ -2866,17 +2866,17 @@ nsCycleCollector::ForgetSkippable(bool a
 }
 
 MOZ_NEVER_INLINE void
 nsCycleCollector::MarkRoots(SliceBudget& aBudget)
 {
   JS::AutoAssertNoGC nogc;
   TimeLog timeLog;
   AutoRestore<bool> ar(mScanInProgress);
-  MOZ_ASSERT(!mScanInProgress);
+  MOZ_RELEASE_ASSERT(!mScanInProgress);
   mScanInProgress = true;
   MOZ_ASSERT(mIncrementalPhase == GraphBuildingPhase);
 
   JS::AutoEnterCycleCollection autocc(Context()->Context());
   bool doneBuilding = mBuilder->BuildGraph(aBudget);
 
   if (!doneBuilding) {
     timeLog.Checkpoint("MarkRoots()");
@@ -3187,17 +3187,17 @@ nsCycleCollector::ScanBlackNodes()
   }
 }
 
 void
 nsCycleCollector::ScanRoots(bool aFullySynchGraphBuild)
 {
   JS::AutoAssertNoGC nogc;
   AutoRestore<bool> ar(mScanInProgress);
-  MOZ_ASSERT(!mScanInProgress);
+  MOZ_RELEASE_ASSERT(!mScanInProgress);
   mScanInProgress = true;
   mWhiteNodeCount = 0;
   MOZ_ASSERT(mIncrementalPhase == ScanAndCollectWhitePhase);
 
   JS::AutoEnterCycleCollection autocc(Context()->Context());
 
   if (!aFullySynchGraphBuild) {
     ScanIncrementalRoots();
@@ -3850,17 +3850,17 @@ nsCycleCollector::BeginCollection(ccType
   timeLog.Checkpoint("BeginCollection prepare graph builder");
 
   if (mJSContext) {
     mJSContext->TraverseRoots(*mBuilder);
     timeLog.Checkpoint("mJSContext->TraverseRoots()");
   }
 
   AutoRestore<bool> ar(mScanInProgress);
-  MOZ_ASSERT(!mScanInProgress);
+  MOZ_RELEASE_ASSERT(!mScanInProgress);
   mScanInProgress = true;
   mPurpleBuf.SelectPointers(*mBuilder);
   timeLog.Checkpoint("SelectPointers()");
 
   mBuilder->DoneAddingRoots();
   mIncrementalPhase = GraphBuildingPhase;
 }