Bug 1055690 - Do not transplant resume points on MBail instructions. r=shu
--- a/js/src/jit/ParallelSafetyAnalysis.cpp
+++ b/js/src/jit/ParallelSafetyAnalysis.cpp
@@ -451,19 +451,18 @@ ParallelSafetyVisitor::convertToBailout(
// We expect iter to be settled on the unsafe instruction.
MInstruction *ins = *iter;
MBasicBlock *block = ins->block();
MOZ_ASSERT(unsafe()); // `block` must have contained unsafe items
MOZ_ASSERT(block->isMarked()); // `block` must have been reachable to get here
clearUnsafe();
- // Allocate a new bailout instruction and transplant the resume point.
+ // Allocate a new bailout instruction.
MBail *bail = MBail::New(graph_.alloc(), Bailout_ParallelUnsafe);
- TransplantResumePoint(ins, bail);
// Discard the rest of the block and sever its link to its successors in
// the CFG.
for (size_t i = 0; i < block->numSuccessors(); i++)
block->getSuccessor(i)->removePredecessor(block);
block->discardAllInstructionsStartingAt(iter);
// End the block in a bail.
@@ -777,17 +776,16 @@ ParallelSafetyVisitor::visitSpecializedI
// Throw
bool
ParallelSafetyVisitor::visitThrow(MThrow *thr)
{
MBasicBlock *block = thr->block();
MOZ_ASSERT(block->lastIns() == thr);
MBail *bail = MBail::New(alloc(), Bailout_ParallelUnsafe);
- TransplantResumePoint(thr, bail);
block->discardLastIns();
block->add(bail);
block->end(MUnreachable::New(alloc()));
return true;
}
///////////////////////////////////////////////////////////////////////////
// Callee extraction