|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.runtime.ExceptionDeliverer org.jikesrvm.compilers.opt.runtimesupport.ia32.OptExceptionDeliverer
public abstract class OptExceptionDeliverer
Handle exception delivery and stack unwinding for methods compiled by optimizing Compiler.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
RegisterConstants.FloatingPointMachineRegister, RegisterConstants.FPR, RegisterConstants.GPR, RegisterConstants.MachineRegister, RegisterConstants.MM, RegisterConstants.XMM |
Field Summary | |
---|---|
private static boolean |
TRACE
|
Fields inherited from interface org.jikesrvm.ia32.ArchConstants |
---|
SSE2_BASE, SSE2_FULL |
Fields inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
ALL_FPRS, ALL_GPRS, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, INSTRUCTION_WIDTH, LG_INSTRUCTION_WIDTH, MM0, MM1, MM10, MM11, MM12, MM13, MM14, MM15, MM2, MM3, MM4, MM5, MM6, MM7, MM8, MM9, NATIVE_NONVOLATILE_FPRS, NATIVE_NONVOLATILE_GPRS, NATIVE_PARAMETER_FPRS, NATIVE_PARAMETER_GPRS, NATIVE_VOLATILE_FPRS, NATIVE_VOLATILE_GPRS, NONVOLATILE_FPRS, NONVOLATILE_GPRS, NUM_FPRS, NUM_GPRS, NUM_NONVOLATILE_FPRS, NUM_NONVOLATILE_GPRS, NUM_PARAMETER_FPRS, NUM_PARAMETER_GPRS, NUM_RETURN_FPRS, NUM_RETURN_GPRS, NUM_VOLATILE_FPRS, NUM_VOLATILE_GPRS, PARAMETER_FPRS, PARAMETER_GPRS, R0, R1, R10, R11, R12, R13, R14, R15, R2, R3, R4, R5, R6, R7, R8, R9, RETURN_FPRS, RETURN_GPRS, STACK_POINTER, THREAD_REGISTER, VOLATILE_FPRS, VOLATILE_GPRS, XMM0, XMM1, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9 |
Fields inherited from interface org.jikesrvm.ia32.TrapConstants |
---|
RVM_TRAP_BASE |
Constructor Summary | |
---|---|
OptExceptionDeliverer()
|
Method Summary | |
---|---|
void |
deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
ArchitectureSpecific.Registers registers)
Pass control to a catch block. |
void |
unwindStackFrame(CompiledMethod compiledMethod,
ArchitectureSpecific.Registers registers)
Unwind a stackframe. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean TRACE
Constructor Detail |
---|
public OptExceptionDeliverer()
Method Detail |
---|
public void deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, ArchitectureSpecific.Registers registers)
deliverException
in class ExceptionDeliverer
compiledMethod
- method whose catch block is to receive controlcatchBlockInstructionAddress
- instruction address at which
to begin execution of catch blockexceptionObject
- exception object to be passed as argument to
catch blockregisters
- registers to be loaded before passing control to
catch blockpublic void unwindStackFrame(CompiledMethod compiledMethod, ArchitectureSpecific.Registers registers)
unwindStackFrame
in class ExceptionDeliverer
compiledMethod
- method whose stackframe is to be unwoundregisters
- thread state to be updated by restoring non-volatiles
and unwinding the stackframe
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |