Backed out changeset 6eca5587da3e (bug 1340537) on request from jonco
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Mon, 20 Feb 2017 14:15:17 +0100
changeset 343896 be761d783526b43f4a1c3525e4dd7d54f3512d85
parent 343895 55cdebd1726441794acdd5d5f3d40d4d04c6cbaa
child 343897 59e30ba1b38fafefaf72865e43a9e3e969db6da5
push id31391
push userphilringnalda@gmail.com
push dateTue, 21 Feb 2017 04:29:09 +0000
treeherdermozilla-central@d84beb192e57 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1340537
milestone54.0a1
backs out6eca5587da3e7ce4419e39fbb1effd76643126c9
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
Backed out changeset 6eca5587da3e (bug 1340537) on request from jonco
js/src/vm/HelperThreads.cpp
--- a/js/src/vm/HelperThreads.cpp
+++ b/js/src/vm/HelperThreads.cpp
@@ -347,20 +347,16 @@ ParseTask::~ParseTask()
         js_delete(errors[i]);
 }
 
 void
 ParseTask::trace(JSTracer* trc)
 {
     if (parseGlobal->runtimeFromAnyThread() != trc->runtime())
         return;
-    if (parseGlobal->zoneFromAnyThread()->usedByHelperThread()) {
-        MOZ_ASSERT(!parseGlobal->zoneFromAnyThread()->isCollecting());
-        return;
-    }
 
     TraceManuallyBarrieredEdge(trc, &parseGlobal, "ParseTask::parseGlobal");
     if (script)
         TraceManuallyBarrieredEdge(trc, &script, "ParseTask::script");
     if (sourceObject)
         TraceManuallyBarrieredEdge(trc, &sourceObject, "ParseTask::sourceObject");
 }
 
@@ -1228,17 +1224,17 @@ HelperThread::handleGCParallelWorkload(A
     gcParallelTask()->runFromHelperThread(locked);
     currentTask.reset();
     HelperThreadState().notifyAll(GlobalHelperThreadState::CONSUMER, locked);
 }
 
 static void
 LeaveParseTaskZone(JSRuntime* rt, ParseTask* task)
 {
-    // Mark the zone as no longer in use by a helper thread, and available
+    // Mark the zone as no longer in use by an JSContext, and available
     // to be collected by the GC.
     rt->clearUsedByHelperThread(task->parseGlobal->zone());
 }
 
 ParseTask*
 GlobalHelperThreadState::removeFinishedParseTask(ParseTaskKind kind, void* token)
 {
     // The token is a ParseTask* which should be in the finished list.