comparison graal/GraalCompiler/src/com/sun/c1x/graph/IR.java @ 2774:93fd92c9f8b0

Removed usage of stateAfter on BlockEnd instructions.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Tue, 24 May 2011 13:39:50 +0200
parents 27512ea6bbcb
children 398b8fa5dc81
comparison
equal deleted inserted replaced
2773:27512ea6bbcb 2774:93fd92c9f8b0
228 removePhiInputs.add(i); 228 removePhiInputs.add(i);
229 } 229 }
230 } 230 }
231 231
232 // This goto is not a safepoint. 232 // This goto is not a safepoint.
233 Goto e = new Goto(target, null, compilation.graph); 233 Goto e = new Goto(target, compilation.graph);
234 newSucc.appendNext(e); 234 newSucc.appendNext(e);
235 e.reorderSuccessor(0, backEdgeIndex); 235 e.reorderSuccessor(0, backEdgeIndex);
236 236
237 // setup states
238 FrameState s = source.end().stateAfter();
239 newSucc.setStateBefore(s);
240 e.setStateAfter(s);
241 assert newSucc.stateBefore().localsSize() == s.localsSize();
242 assert newSucc.stateBefore().stackSize() == s.stackSize();
243 assert newSucc.stateBefore().locksSize() == s.locksSize();
244 // link predecessor to new block 237 // link predecessor to new block
245 source.end().substituteSuccessor(target, newSucc); 238 source.end().substituteSuccessor(target, newSucc);
246 if (removePhiInputs.size() > 0) { 239 if (removePhiInputs.size() > 0) {
247 240
248 for (Node n : target.usages()) { 241 for (Node n : target.usages()) {