Bug 1040194 - Keep recoverOnBailout instruction for resume point operands. r=h4writer

This commit is contained in:
Nicolas B. Pierron 2014-07-28 05:46:26 -07:00
parent dae837c304
commit 13078b60ea

View File

@ -424,13 +424,12 @@ jit::EliminateDeadResumePointOperands(MIRGenerator *mir, MIRGraph &graph)
if (ins->isUnbox() || ins->isParameter() || ins->isTypeBarrier() || ins->isComputeThis())
continue;
// TypedObject intermediate values captured by resume points may
// be legitimately dead in Ion code, but are still needed if we
// bail out. They can recover on bailout.
if (ins->isNewDerivedTypedObject()) {
MOZ_ASSERT(ins->canRecoverOnBailout());
// Early intermediate values captured by resume points, such as
// 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())
continue;
}
// If the instruction's behavior has been constant folded into a
// separate instruction, we can't determine precisely where the