comparison graal/GraalCompiler/src/com/sun/c1x/asm/ExceptionInfo.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 16b9a8b5ad39
children c1ce2a53d6c3
comparison
equal deleted inserted replaced
2677:0ea5f12e873a 2707:7ed72769d51a
20 * or visit www.oracle.com if you need additional information or have any 20 * or visit www.oracle.com if you need additional information or have any
21 * questions. 21 * questions.
22 */ 22 */
23 package com.sun.c1x.asm; 23 package com.sun.c1x.asm;
24 24
25 import java.util.*;
26
27 import com.sun.c1x.ir.*; 25 import com.sun.c1x.ir.*;
28 26
29 /** 27 /**
30 * 28 *
31 * @author Thomas Wuerthinger 29 * @author Thomas Wuerthinger
32 */ 30 */
33 public class ExceptionInfo { 31 public class ExceptionInfo {
34 32
35 public final int codeOffset; 33 public final int codeOffset;
36 public final List<ExceptionHandler> exceptionHandlers; 34 public final BlockBegin exceptionEdge;
37 public final int bci; 35 public final int bci;
38 36
39 public ExceptionInfo(int pcOffset, List<ExceptionHandler> exceptionHandlers, int bci) { 37 public ExceptionInfo(int pcOffset, BlockBegin exceptionEdge, int bci) {
40 this.codeOffset = pcOffset; 38 this.codeOffset = pcOffset;
41 this.exceptionHandlers = exceptionHandlers; 39 this.exceptionEdge = exceptionEdge;
42 this.bci = bci; 40 this.bci = bci;
43 } 41 }
44 } 42 }