Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java @ 2783:9bc0c2eb00d6
Made graph builder removal of BlockBegin work.
author | Thomas Wuerthinger <thomas@wuerthinger.net> |
---|---|
date | Wed, 25 May 2011 12:04:58 +0200 |
parents | bda5972a40a5 |
children | e62cfea1c134 |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java Wed May 25 11:15:24 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/graph/GraphBuilder.java Wed May 25 12:04:58 2011 +0200 @@ -221,9 +221,9 @@ if (n instanceof Placeholder) { Placeholder p = (Placeholder) n; - if (p == graph.start().successors().get(0)) { + /*if (p == graph.start().successors().get(0)) { // nothing to do... - } else if (p.blockPredecessors().size() == 0) { + } else*/ if (p.blockPredecessors().size() == 0) { assert p.next() == null; p.delete(); } else { @@ -236,6 +236,12 @@ } } } + + for (Node n : graph.getNodes()) { + assert !(n instanceof Placeholder); + } + + for (Node n : graph.getNodes()) { if (n instanceof FrameState) { boolean delete = false; @@ -1089,7 +1095,9 @@ // go forward to the end of the block lastInstr = lastInstr.next(); } - frameState.initializeFrom(((BlockBegin) syncHandler.firstInstruction).stateBefore()); + +// TTY.println("first instruction: " + syncHandler.firstInstruction); + frameState.initializeFrom(((StateSplit) syncHandler.firstInstruction).stateBefore()); int bci = Instruction.SYNCHRONIZATION_ENTRY_BCI;