Bug 1196027 - check the actual current marking mode instead of the permanent intention, r=terrence

--HG--
extra : rebase_source : 1a2da1602094596a9b3f6f16c3eb6f511cff29b7
extra : amend_source : c130055fc3110874fef7661019d751a1448cbde3
extra : source : 9ca39133a30af07bb6b27d5742b2c5865caa3b31
This commit is contained in:
Steve Fink 2015-08-20 10:10:42 -07:00
parent 11107cfc02
commit f94484fc9a

View File

@ -4034,7 +4034,7 @@ GCRuntime::markWeakReferences(gcstats::Phase phase)
for (CompartmentIterT c(rt); !c.done(); c.next()) {
if (c->watchpointMap)
markedAny |= c->watchpointMap->markIteratively(&marker);
if (marker.weakMapAction() != ExpandWeakMaps)
if (!marker.isWeakMarkingTracer())
markedAny |= WeakMapBase::markCompartmentIteratively(c, &marker);
}
markedAny |= Debugger::markAllIteratively(&marker);