Bug 1099463 - Clear parallel entry script flag when removing script from active table r=shu

This commit is contained in:
Jon Coppeard 2014-11-18 09:54:55 +00:00
Родитель 673dd952a5
Коммит a862dc239b
1 изменённых файлов: 4 добавлений и 3 удалений

Просмотреть файл

@ -591,8 +591,7 @@ JitCompartment::mark(JSTracer *trc, JSCompartment *compartment)
// off-thread helper too late (i.e., the ForkJoin finished with
// warmup doing all the work), remove it.
if (!script->hasParallelIonScript() ||
!script->parallelIonScript()->isParallelEntryScript() ||
trc->runtime()->gc.shouldCleanUpEverything())
!script->parallelIonScript()->isParallelEntryScript())
{
e.removeFront();
continue;
@ -604,7 +603,9 @@ JitCompartment::mark(JSTracer *trc, JSCompartment *compartment)
// Subtlety: We depend on the tracing of the parallel IonScript's
// callTargetEntries to propagate the parallel age to the entire
// call graph.
if (script->parallelIonScript()->shouldPreserveParallelCode(IonScript::IncreaseAge)) {
if (!trc->runtime()->gc.shouldCleanUpEverything() &&
script->parallelIonScript()->shouldPreserveParallelCode(IonScript::IncreaseAge))
{
MarkScript(trc, const_cast<PreBarrieredScript *>(&e.front()), "par-script");
MOZ_ASSERT(script == e.front());
} else {