Mercurial > hg > graal-jvmci-8
changeset 11412:7a775592258f
Fix Lowering when the lowered node modifies its successor's predecessor to be somethign that is not a FixedWithNextNode
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Sun, 25 Aug 2013 15:15:23 +0200 |
parents | 95cbf029018c |
children | 2c3ca4b71965 |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java |
diffstat | 1 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Fri Aug 23 18:22:27 2013 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java Sun Aug 25 15:15:23 2013 +0200 @@ -252,7 +252,16 @@ ((Lowerable) node).lower(loweringTool, loweringType); } - loweringTool.setLastFixedNode((FixedWithNextNode) nextNode.predecessor()); + if (!nextNode.isAlive()) { + break; + } else { + Node nextLastFixed = nextNode.predecessor(); + if (nextLastFixed instanceof FixedWithNextNode) { + loweringTool.setLastFixedNode((FixedWithNextNode) nextLastFixed); + } else { + loweringTool.setLastFixedNode((FixedWithNextNode) nextNode); + } + } } }