Bug 1502013 - RemoveUnmarkedBlocks should only mark operands of removed blocks. r=jandem, a=jcristau
authorNicolas B. Pierron <nicolas.b.pierron@nbp.name>
Thu, 25 Oct 2018 14:20:44 +0200
changeset 501135 4d3a4ce7e9c6c60a0be8d27b95223d7906d1bf2a
parent 501134 e3511cbc883526d3603e0516873a6a282a23e967
child 501136 dc2f3f105676976a8e48bcce65e2a7c31578f3f6
push id1864
push userffxbld-merge
push dateMon, 03 Dec 2018 15:51:40 +0000
treeherdermozilla-release@f040763d99ad [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersjandem, jcristau
bugs1502013
milestone64.0
Bug 1502013 - RemoveUnmarkedBlocks should only mark operands of removed blocks. r=jandem, a=jcristau
js/src/jit/IonAnalysis.cpp
--- a/js/src/jit/IonAnalysis.cpp
+++ b/js/src/jit/IonAnalysis.cpp
@@ -2554,17 +2554,17 @@ jit::RemoveUnmarkedBlocks(MIRGenerator* 
         // since we may have removed edges even if we didn't remove any blocks.
         graph.unmarkBlocks();
     } else {
         // As we are going to remove edges and basic blocks, we have to mark
         // instructions which would be needed by baseline if we were to
         // bailout.
         for (PostorderIterator it(graph.poBegin()); it != graph.poEnd();) {
             MBasicBlock* block = *it++;
-            if (!block->isMarked()) {
+            if (block->isMarked()) {
                 continue;
             }
 
             FlagAllOperandsAsHavingRemovedUses(mir, block);
         }
 
         // Find unmarked blocks and remove them.
         for (ReversePostorderIterator iter(graph.rpoBegin()); iter != graph.rpoEnd();) {