comparison 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
comparison
equal deleted inserted replaced
2677:0ea5f12e873a 2707:7ed72769d51a
179 179
180 /** 180 /**
181 * Gets this block end's list of successors. 181 * Gets this block end's list of successors.
182 * @return the successor list 182 * @return the successor list
183 */ 183 */
184 @SuppressWarnings("unchecked") 184 @SuppressWarnings({ "unchecked", "rawtypes"})
185 public List<BlockBegin> blockSuccessors() { 185 public List<BlockBegin> blockSuccessors() {
186 List<BlockBegin> list = (List) successors().subList(super.successorCount() + SUCCESSOR_COUNT, super.successorCount() + blockSuccessorCount + SUCCESSOR_COUNT); 186 List<BlockBegin> list = (List) successors().subList(super.successorCount() + SUCCESSOR_COUNT, super.successorCount() + blockSuccessorCount + SUCCESSOR_COUNT);
187 return Collections.unmodifiableList(list); 187 return Collections.unmodifiableList(list);
188 } 188 }
189 189
190 public void clearSuccessors() {
191 for (int i = 0; i < blockSuccessorCount(); i++) {
192 setBlockSuccessor(i, null);
193 }
194 }
195
190 } 196 }