Bug 1506640 - Trace wrappers rooters during sweep phase r=pbone a=abillings
authorJon Coppeard <jcoppeard@mozilla.com>
Thu, 15 Nov 2018 11:57:00 +0000
changeset 446540 0e459cfc0d2ade802b05fc2ed591bf3a5cb527f7
parent 446539 f8fefc9626c12c7e3f48bdd82baab9fc4edec345
child 446541 9208f52dd028a6aaf187c9368c6141b62b5ac9d1
push id109884
push userjcoppeard@mozilla.com
push dateThu, 15 Nov 2018 12:00:34 +0000
treeherdermozilla-inbound@0e459cfc0d2a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerspbone, abillings
bugs1506640
milestone65.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1506640 - Trace wrappers rooters during sweep phase r=pbone a=abillings
js/src/gc/GC.cpp
--- a/js/src/gc/GC.cpp
+++ b/js/src/gc/GC.cpp
@@ -7553,16 +7553,19 @@ GCRuntime::incrementalSlice(SliceBudget&
         incrementalState = State::Sweep;
         lastMarkSlice = false;
         beginSweepPhase(reason, session);
 
         MOZ_FALLTHROUGH;
 
       case State::Sweep:
         MOZ_ASSERT(nursery().isEmpty());
+
+        AutoGCRooter::traceAllWrappers(rt->mainContextFromOwnThread(), &marker);
+
         if (performSweepActions(budget) == NotFinished) {
             break;
         }
 
         endSweepPhase(destroyingRuntime);
 
         incrementalState = State::Finalize;