Mercurial > hg > graal-compiler
changeset 7245:1e099e2c6197
Fix for KillCFG while killing infinite empty loops
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 17 Dec 2012 16:01:55 +0100 |
parents | a023cfaeb92e |
children | cccec951cb76 |
files | graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java Mon Dec 17 15:24:13 2012 +0100 +++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/util/GraphUtil.java Mon Dec 17 16:01:55 2012 +0100 @@ -76,7 +76,10 @@ loopend.safeDelete(); } begin.removeExits(); - killCFG(begin.next()); + FixedNode loopBody = begin.next(); + if (loopBody != null) { // for small infinite loops, the body may be killed while killing the loop ends + killCFG(loopBody); + } begin.safeDelete(); } else if (merge instanceof LoopBeginNode && ((LoopBeginNode) merge).loopEnds().isEmpty()) { // not a loop anymore graph.reduceDegenerateLoopBegin((LoopBeginNode) merge);