# HG changeset patch # User Thomas Wuerthinger # Date 1422443141 -3600 # Node ID c6b2677bcbef721b630d61c7e7e30d99de303d1f # Parent a6486362285447d52dcfaa3f5be5d03ee52e6051 Change verification of scheduled graph. diff -r a64863622854 -r c6b2677bcbef graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java --- a/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java Wed Jan 28 12:03:00 2015 +0100 +++ b/graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java Wed Jan 28 12:05:41 2015 +0100 @@ -180,13 +180,17 @@ loopEntryStates.put((LoopBeginNode) node, currentState.copy()); } } else if (node instanceof ProxyNode) { - for (Node input : node.inputs()) { - if (input != ((ProxyNode) node).proxyPoint()) { - assert currentState.isMarked(input) : input + " not available at " + node + " in block " + block + "\n" + list; - } - } + assert false : "proxy nodes should not be in the schedule"; } else if (node instanceof LoopExitNode) { if (graph.hasValueProxies()) { + for (ProxyNode proxy : ((LoopExitNode) node).proxies()) { + for (Node input : proxy.inputs()) { + if (input != proxy.proxyPoint()) { + assert currentState.isMarked(input) : input + " not available at " + proxy + " in block " + block + "\n" + list; + } + } + } + // loop contents are only accessible via proxies at the exit currentState.clearAll(); currentState.markAll(loopEntryStates.get(((LoopExitNode) node).loopBegin()));