Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java @ 2750:6048da340364
less references to BlockBegin in BlockEnd instructions
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Fri, 20 May 2011 14:22:19 +0200 |
parents | 027adfafd47e |
children | dbb4c8b6d5cd |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java Fri May 20 14:09:28 2011 +0200 +++ b/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java Fri May 20 14:22:19 2011 +0200 @@ -77,8 +77,9 @@ return (BlockBegin) successors().get(super.successorCount() + SUCCESSOR_COUNT + index); } - public BlockBegin setBlockSuccessor(int index, BlockBegin n) { + public Instruction setBlockSuccessor(int index, Instruction n) { assert index >= 0 && index < blockSuccessorCount; + assert n instanceof BlockBegin : "only BlockBegins, for now..."; return (BlockBegin) successors().set(super.successorCount() + SUCCESSOR_COUNT + index, n); } @@ -93,7 +94,7 @@ * @param isSafepoint {@code true} if this instruction is a safepoint instruction * @param successors the list of successor blocks. If {@code null}, a new one will be created. */ - public BlockEnd(CiKind kind, FrameState stateAfter, List<BlockBegin> blockSuccessors, int inputCount, int successorCount, Graph graph) { + public BlockEnd(CiKind kind, FrameState stateAfter, List<? extends Instruction> blockSuccessors, int inputCount, int successorCount, Graph graph) { this(kind, stateAfter, blockSuccessors.size(), inputCount, successorCount, graph); for (int i = 0; i < blockSuccessors.size(); i++) { setBlockSuccessor(i, blockSuccessors.get(i)); @@ -166,7 +167,7 @@ */ public void reorderSuccessor(int i, int backEdgeIndex) { assert i >= 0 && i < blockSuccessorCount; - BlockBegin successor = blockSuccessor(i); + Instruction successor = blockSuccessor(i); if (successor != null) { successors().set(super.successorCount() + SUCCESSOR_COUNT + i, Node.Null); successors().set(super.successorCount() + SUCCESSOR_COUNT + i, successor, backEdgeIndex);