Bug 964214 - Don't wait for background sweep to finish for minor GC r=terrence
authorJon Coppeard <jcoppeard@mozilla.com>
Tue, 28 Jan 2014 10:36:56 +0000
changeset 165592 3fd32a07dccac44f1144783e1d1b6e5b6f232f26
parent 165591 e10ef633ded9c3bd295c8403ebbaa1ba68dae246
child 165593 34ac931fc286ec5a495cb94977c14b34d120c9de
push id26098
push userryanvm@gmail.com
push dateTue, 28 Jan 2014 21:25:14 +0000
treeherdermozilla-central@7e79536aca0a [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs964214
milestone29.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 964214 - Don't wait for background sweep to finish for minor GC r=terrence
js/src/gc/Nursery.cpp
--- a/js/src/gc/Nursery.cpp
+++ b/js/src/gc/Nursery.cpp
@@ -684,20 +684,16 @@ js::Nursery::collect(JSRuntime *rt, JS::
 
     if (isEmpty())
         return;
 
     TIME_START(total);
 
     AutoStopVerifyingBarriers av(rt, false);
 
-    TIME_START(waitBgSweep);
-    rt->gcHelperThread.waitBackgroundSweepEnd();
-    TIME_END(waitBgSweep);
-
     /* Move objects pointed to by roots from the nursery to the major heap. */
     MinorCollectionTracer trc(rt, this);
 
     /* Mark the store buffer. This must happen first. */
     StoreBuffer &sb = rt->gcStoreBuffer;
     TIME_START(markValues);
     sb.markValues(&trc);
     TIME_END(markValues);
@@ -808,28 +804,27 @@ js::Nursery::collect(JSRuntime *rt, JS::
 
 #ifdef PROFILE_NURSERY
     int64_t totalTime = TIME_TOTAL(total);
 
     if (totalTime >= GCReportThreshold) {
         static bool printedHeader = false;
         if (!printedHeader) {
             fprintf(stderr,
-                    "MinorGC: Reason               PRate  Size Time   WaitBg mkVals mkClls mkSlts mkWCll mkRVal mkRCll mkGnrc ckTbls mkRntm mkDbgr clrNOC collct updtIn resize pretnr frSlts clrSB  sweep\n");
+                    "MinorGC: Reason               PRate  Size Time   mkVals mkClls mkSlts mkWCll mkRVal mkRCll mkGnrc ckTbls mkRntm mkDbgr clrNOC collct updtIn resize pretnr frSlts clrSB  sweep\n");
             printedHeader = true;
         }
 
 #define FMT " %6" PRIu64
         fprintf(stderr,
-                "MinorGC: %20s %5.1f%% %4d" FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT "\n",
+                "MinorGC: %20s %5.1f%% %4d" FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT FMT "\n",
                 js::gcstats::ExplainReason(reason),
                 promotionRate * 100,
                 numActiveChunks_,
                 totalTime,
-                TIME_TOTAL(waitBgSweep),
                 TIME_TOTAL(markValues),
                 TIME_TOTAL(markCells),
                 TIME_TOTAL(markSlots),
                 TIME_TOTAL(markWholeCells),
                 TIME_TOTAL(markRelocatableValues),
                 TIME_TOTAL(markRelocatableCells),
                 TIME_TOTAL(markGenericEntries),
                 TIME_TOTAL(checkHashTables),