Mercurial > hg > truffle
comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotExceptionHandler.java @ 1429:abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
* -Dc1x.debug=true turns on the logging proxies and lots of log output on the java side
* provide more information about types to the compiler (type hierarchy, etc)
* provide exception handler tables to the compiler
* add exception handlers to the nmethod
* correct implementation of ExceptionObject
* exception handling/unwinding entry points
* modified versions of handle/unwind exception stubs using standard calling conventions
* exception throwing
* implicit null pointer exception, implicit div by 0 exception
* arraystore/classcast/arrayindex exceptions
* checkcast implementation
* newarray, anewarray, multinewarray implementation
* correct new instance initialization
* access to java class mirrors (for ldc)
* unresolved methods
* class resolving - class patching (asssembly prototype copying)
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Tue, 31 Aug 2010 22:13:30 -0700 |
parents | |
children | 9e5e83ca2259 |
comparison
equal
deleted
inserted
replaced
1428:695451afc619 | 1429:abc670a709dc |
---|---|
1 package com.sun.hotspot.c1x; | |
2 | |
3 import com.sun.cri.ri.*; | |
4 | |
5 | |
6 public class HotSpotExceptionHandler implements RiExceptionHandler, CompilerObject { | |
7 private int startBci; | |
8 private int endBci; | |
9 private int handlerBci; | |
10 private int catchClassIndex; | |
11 private RiType catchClass; | |
12 | |
13 @Override | |
14 public int startBCI() { | |
15 return startBci; | |
16 } | |
17 | |
18 @Override | |
19 public int endBCI() { | |
20 return endBci; | |
21 } | |
22 | |
23 @Override | |
24 public int handlerBCI() { | |
25 return handlerBci; | |
26 } | |
27 | |
28 @Override | |
29 public int catchClassIndex() { | |
30 return catchClassIndex; | |
31 } | |
32 | |
33 @Override | |
34 public boolean isCatchAll() { | |
35 return catchClassIndex == 0; | |
36 } | |
37 | |
38 @Override | |
39 public RiType catchKlass() { | |
40 return catchClass; | |
41 } | |
42 | |
43 } |