comparison graal/com.oracle.graal.phases/src/com/oracle/graal/phases/util/GraphOrder.java @ 18995:a2cb19764970

Rename MergeNode to AbstractMergeNode.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Wed, 28 Jan 2015 01:04:20 +0100
parents e349dfa54db1
children c6b2677bcbef
comparison
equal deleted inserted replaced
18994:8b4ef818169c 18995:a2cb19764970
108 for (PhiNode phi : end.merge().phis()) { 108 for (PhiNode phi : end.merge().phis()) {
109 visitForward(nodes, visited, phi.valueAt(end), true); 109 visitForward(nodes, visited, phi.valueAt(end), true);
110 } 110 }
111 } 111 }
112 nodes.add(node); 112 nodes.add(node);
113 if (node instanceof MergeNode) { 113 if (node instanceof AbstractMergeNode) {
114 for (PhiNode phi : ((MergeNode) node).phis()) { 114 for (PhiNode phi : ((AbstractMergeNode) node).phis()) {
115 visited.mark(phi); 115 visited.mark(phi);
116 nodes.add(phi); 116 nodes.add(phi);
117 } 117 }
118 } 118 }
119 if (stateAfter != null) { 119 if (stateAfter != null) {
170 } 170 }
171 }); 171 });
172 pendingStateAfter = null; 172 pendingStateAfter = null;
173 } 173 }
174 174
175 if (node instanceof MergeNode) { 175 if (node instanceof AbstractMergeNode) {
176 // phis aren't scheduled, so they need to be added explicitly 176 // phis aren't scheduled, so they need to be added explicitly
177 currentState.markAll(((MergeNode) node).phis()); 177 currentState.markAll(((AbstractMergeNode) node).phis());
178 if (node instanceof LoopBeginNode) { 178 if (node instanceof LoopBeginNode) {
179 // remember the state at the loop entry, it's restored at exits 179 // remember the state at the loop entry, it's restored at exits
180 loopEntryStates.put((LoopBeginNode) node, currentState.copy()); 180 loopEntryStates.put((LoopBeginNode) node, currentState.copy());
181 } 181 }
182 } else if (node instanceof ProxyNode) { 182 } else if (node instanceof ProxyNode) {
208 } 208 }
209 } 209 }
210 } 210 }
211 } 211 }
212 if (node instanceof AbstractEndNode) { 212 if (node instanceof AbstractEndNode) {
213 MergeNode merge = ((AbstractEndNode) node).merge(); 213 AbstractMergeNode merge = ((AbstractEndNode) node).merge();
214 for (PhiNode phi : merge.phis()) { 214 for (PhiNode phi : merge.phis()) {
215 ValueNode phiValue = phi.valueAt((AbstractEndNode) node); 215 ValueNode phiValue = phi.valueAt((AbstractEndNode) node);
216 assert phiValue == null || currentState.isMarked(phiValue) : phiValue + " not available at phi " + phi + " / end " + node + " in block " + block; 216 assert phiValue == null || currentState.isMarked(phiValue) : phiValue + " not available at phi " + phi + " / end " + node + " in block " + block;
217 } 217 }
218 } 218 }