Bug 808067 - Change the compartments we iterate over when ending GC (r=jonco)

This commit is contained in:
Bill McCloskey 2012-11-05 13:17:06 -08:00
parent ff0cd0b135
commit 3509e1737d

View File

@ -4154,12 +4154,12 @@ AutoGCSlice::AutoGCSlice(JSRuntime *rt)
AutoGCSlice::~AutoGCSlice() AutoGCSlice::~AutoGCSlice()
{ {
for (GCCompartmentsIter c(runtime); !c.done(); c.next()) { /* We can't use GCCompartmentsIter if this is the end of the last slice. */
for (CompartmentsIter c(runtime); !c.done(); c.next()) {
if (c->isGCMarking()) { if (c->isGCMarking()) {
c->setNeedsBarrier(true, JSCompartment::UpdateIon); c->setNeedsBarrier(true, JSCompartment::UpdateIon);
c->arenas.prepareForIncrementalGC(runtime); c->arenas.prepareForIncrementalGC(runtime);
} else { } else {
JS_ASSERT(c->isGCSweeping());
c->setNeedsBarrier(false, JSCompartment::UpdateIon); c->setNeedsBarrier(false, JSCompartment::UpdateIon);
} }
} }