Mercurial > hg > truffle
diff graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java @ 2707:7ed72769d51a
exception handling related changes:
* changed blockPredecessors to list of Instructions, instead of Blocks
* removed explicit predecessor management in BlockBegin, now using predecessors from Graph structure
* replaced generated LIR exception entries with exception dispatch chains in IR
* added Unwind and ExceptionDispatch instructions
* removed ExceptionEntry flag in BlockBegin and all code depending on it
* removed exceptionHandler list from Instruction, replaced by exception Edge on Invoke and Throw
* replaced list of ExceptionHandlers with single exception edge in debug info
misc:
* changed GraphvizPrinter layout (smaller ports on large nodes)
* removed defunct run config
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 18 May 2011 18:09:20 +0200 |
parents | 6ab73784566a |
children | a0dd2b907806 |
line wrap: on
line diff
--- a/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java Fri May 13 17:09:20 2011 -0700 +++ b/graal/GraalCompiler/src/com/sun/c1x/ir/BlockEnd.java Wed May 18 18:09:20 2011 +0200 @@ -181,10 +181,16 @@ * Gets this block end's list of successors. * @return the successor list */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "rawtypes"}) public List<BlockBegin> blockSuccessors() { List<BlockBegin> list = (List) successors().subList(super.successorCount() + SUCCESSOR_COUNT, super.successorCount() + blockSuccessorCount + SUCCESSOR_COUNT); return Collections.unmodifiableList(list); } + public void clearSuccessors() { + for (int i = 0; i < blockSuccessorCount(); i++) { + setBlockSuccessor(i, null); + } + } + }