Mercurial > hg > truffle
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()) { |