org.jikesrvm.compilers.common
Class ExceptionTable

java.lang.Object
  extended by org.jikesrvm.compilers.common.ExceptionTable
Direct Known Subclasses:
BaselineExceptionTable, OptExceptionTable

public abstract class ExceptionTable
extends Object

Encoding of try ranges in the final machinecode and the corresponding exception type and catch block start.


Field Summary
protected static int CATCH_START
           
protected static int EX_TYPE
           
protected static int TRY_END
           
protected static int TRY_START
          An eTable array encodes the exception tables using 4 ints for each
 
Constructor Summary
ExceptionTable()
           
 
Method Summary
static int findCatchBlockForInstruction(int[] eTable, Offset instructionOffset, RVMType exceptionType)
          Return the machine code offset for the catch block that will handle the argument exceptionType,or -1 if no such catch block exists.
static void printExceptionTable(int[] eTable)
          Print an encoded exception table.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TRY_START

protected static final int TRY_START
An eTable array encodes the exception tables using 4 ints for each

See Also:
Constant Field Values

TRY_END

protected static final int TRY_END
See Also:
Constant Field Values

CATCH_START

protected static final int CATCH_START
See Also:
Constant Field Values

EX_TYPE

protected static final int EX_TYPE
See Also:
Constant Field Values
Constructor Detail

ExceptionTable

public ExceptionTable()
Method Detail

findCatchBlockForInstruction

public static int findCatchBlockForInstruction(int[] eTable,
                                               Offset instructionOffset,
                                               RVMType exceptionType)
Return the machine code offset for the catch block that will handle the argument exceptionType,or -1 if no such catch block exists.

Parameters:
eTable - the encoded exception table to search
instructionOffset - the offset of the instruction after the PEI.
exceptionType - the type of exception that was raised
Returns:
the machine code offset of the catch block.

printExceptionTable

public static void printExceptionTable(int[] eTable)
Print an encoded exception table.

Parameters:
eTable - the encoded exception table to print.