Bug 1055690 - Do not transplant resume points on MBail instructions. r=shu
authorNicolas B. Pierron <nicolas.b.pierron@mozilla.com>
Wed, 15 Oct 2014 14:49:37 +0200
changeset 210534 7d18f72c70f9cd0d2371d390defb0c78a3346643
parent 210533 a7c9724075780ad36da5fc35bf4d4d45d119f21b
child 210535 2a2a1889250e1c2eac48cb828824507a0498107b
push id1
push userroot
push dateMon, 20 Oct 2014 17:29:22 +0000
reviewersshu
bugs1055690
milestone36.0a1
Bug 1055690 - Do not transplant resume points on MBail instructions. r=shu
js/src/jit/ParallelSafetyAnalysis.cpp
--- 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