Mercurial > hg > truffle
comparison graal/GraalCompiler/src/com/sun/c1x/graph/IR.java @ 2708:4272b7af2d17
merge
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 18 May 2011 18:40:58 +0200 |
parents | 7ed72769d51a efbdb3ea95c9 |
children | a0dd2b907806 |
comparison
equal
deleted
inserted
replaced
2707:7ed72769d51a | 2708:4272b7af2d17 |
---|---|
87 } | 87 } |
88 | 88 |
89 private void buildGraph() { | 89 private void buildGraph() { |
90 // Graph builder must set the startBlock and the osrEntryBlock | 90 // Graph builder must set the startBlock and the osrEntryBlock |
91 new GraphBuilder(compilation, this, compilation.graph).build(); | 91 new GraphBuilder(compilation, this, compilation.graph).build(); |
92 assert startBlock != null; | |
93 verifyAndPrint("After graph building"); | 92 verifyAndPrint("After graph building"); |
94 | 93 |
95 if (C1XOptions.PrintCompilation) { | 94 if (C1XOptions.PrintCompilation) { |
96 TTY.print(String.format("%3d blocks | ", this.numberOfBlocks())); | 95 TTY.print(String.format("%3d blocks | ", this.numberOfBlocks())); |
97 } | 96 } |
165 | 164 |
166 int backEdgeIndex = target.predecessors().indexOf(source.end()); | 165 int backEdgeIndex = target.predecessors().indexOf(source.end()); |
167 | 166 |
168 // create new successor and mark it for special block order treatment | 167 // create new successor and mark it for special block order treatment |
169 BlockBegin newSucc = new BlockBegin(bci, nextBlockNumber(), compilation.graph); | 168 BlockBegin newSucc = new BlockBegin(bci, nextBlockNumber(), compilation.graph); |
170 | |
171 newSucc.setCriticalEdgeSplit(true); | |
172 | 169 |
173 // This goto is not a safepoint. | 170 // This goto is not a safepoint. |
174 Goto e = new Goto(target, null, false, compilation.graph); | 171 Goto e = new Goto(target, null, false, compilation.graph); |
175 newSucc.appendNext(e, bci); | 172 newSucc.appendNext(e, bci); |
176 newSucc.setEnd(e); | 173 newSucc.setEnd(e); |