Mercurial > hg > graal-compiler
changeset 6421:d855dd01629f
fix to PostOrderBlockIterator: deal with unnecessary BeginNodes
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 19 Sep 2012 12:12:00 +0200 |
parents | 58d9297b8575 |
children | 316b45fa86bc |
files | graal/com.oracle.graal.compiler.virtual/src/com/oracle/graal/compiler/phases/ea/PostOrderBlockIterator.java |
diffstat | 1 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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 {