diff --git a/js/src/jit-test/tests/parallel/bug1032264.js b/js/src/jit-test/tests/parallel/bug1032264.js new file mode 100644 index 00000000000..6fa25c00702 --- /dev/null +++ b/js/src/jit-test/tests/parallel/bug1032264.js @@ -0,0 +1,9 @@ +// |jit-test| error: 503 + +if (getBuildConfiguration().parallelJS) { + Array.buildPar(16427, function(x) { + if (x % 633 == 503) { + throw x; + } + }); +} diff --git a/js/src/jit/ParallelSafetyAnalysis.cpp b/js/src/jit/ParallelSafetyAnalysis.cpp index 508ad484b8e..6796e68d949 100644 --- a/js/src/jit/ParallelSafetyAnalysis.cpp +++ b/js/src/jit/ParallelSafetyAnalysis.cpp @@ -759,6 +759,7 @@ ParallelSafetyVisitor::visitThrow(MThrow *thr) MBail *bail = MBail::New(alloc(), Bailout_ParallelUnsafe); TransplantResumePoint(thr, bail); block->discardLastIns(); + block->add(bail); block->end(MUnreachable::New(alloc())); return true; }