comparison graal/GraalCompiler/src/com/sun/c1x/value/FrameState.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 32e8315bb6e4
children c1ce2a53d6c3
comparison
equal deleted inserted replaced
2677:0ea5f12e873a 2707:7ed72769d51a
103 } 103 }
104 104
105 /** 105 /**
106 * Gets a copy of this frame state without the stack. 106 * Gets a copy of this frame state without the stack.
107 */ 107 */
108 public FrameState duplicateWithEmptyStack() { 108 @Override
109 public FrameState duplicateWithEmptyStack(int bci) {
109 FrameState other = new FrameState(bci, localsSize, 0, locksSize(), graph()); 110 FrameState other = new FrameState(bci, localsSize, 0, locksSize(), graph());
110 for (int i = 0; i < localsSize; i++) { 111 for (int i = 0; i < localsSize; i++) {
111 other.inputs().set(i, localAt(i)); 112 other.inputs().set(i, localAt(i));
112 } 113 }
113 for (int i = 0; i < locksSize; i++) { 114 for (int i = 0; i < locksSize; i++) {