Mercurial > hg > truffle
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 } |