Bug 1048046 - Remove non-observed instructions, even if they might be recovered on bailout. r=h4writer

This commit is contained in:
Nicolas B. Pierron 2014-08-04 07:59:44 -07:00
parent aaa3b2b0da
commit cde276f497

View File

@ -427,8 +427,10 @@ jit::EliminateDeadResumePointOperands(MIRGenerator *mir, MIRGraph &graph)
// TypedObject, ArrayState and its allocation, may be legitimately
// dead in Ion code, but are still needed if we bail out. They can
// recover on bailout.
if (ins->canRecoverOnBailout())
if (ins->isNewDerivedTypedObject() || ins->isRecoveredOnBailout()) {
MOZ_ASSERT(ins->canRecoverOnBailout());
continue;
}
// If the instruction's behavior has been constant folded into a
// separate instruction, we can't determine precisely where the