# HG changeset patch # User Lukas Stadler # Date 1348049520 -7200 # Node ID d855dd01629f423979d9363d5b2ece84a6bcdc5c # Parent 58d9297b8575f094f0dfeb7e8ba76cccef5eee31 fix to PostOrderBlockIterator: deal with unnecessary BeginNodes diff -r 58d9297b8575 -r d855dd01629f graal/com.oracle.graal.compiler.virtual/src/com/oracle/graal/compiler/phases/ea/PostOrderBlockIterator.java --- a/graal/com.oracle.graal.compiler.virtual/src/com/oracle/graal/compiler/phases/ea/PostOrderBlockIterator.java Tue Sep 18 20:54:46 2012 +0200 +++ b/graal/com.oracle.graal.compiler.virtual/src/com/oracle/graal/compiler/phases/ea/PostOrderBlockIterator.java Wed Sep 19 12:12:00 2012 +0200 @@ -74,8 +74,14 @@ current = successor; continue; } else { - assert successor.getPredecessors().size() > 1 : "invalid block schedule at " + successor.getBeginNode(); - queueMerge((EndNode) current.getEndNode(), successor); + if (current.getEndNode() instanceof EndNode) { + assert successor.getPredecessors().size() > 1 : "invalid block schedule at " + successor.getBeginNode(); + queueMerge((EndNode) current.getEndNode(), successor); + } else { + assert successor.getPredecessors().size() == 1 : "invalid block schedule at " + successor.getBeginNode(); + current = successor; + continue; + } } } } else {