public class JNIExceptionDeliverer extends ExceptionDeliverer
| Constructor and Description |
|---|
JNIExceptionDeliverer() |
| Modifier and Type | Method and Description |
|---|---|
void |
deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
AbstractRegisters registers)
Deliver exception, not possible for JNI methods
|
void |
unwindStackFrame(CompiledMethod compiledMethod,
AbstractRegisters registers)
Unwind registers/stack through JNI method
|
public JNIExceptionDeliverer()
public void deliverException(CompiledMethod compiledMethod, Address catchBlockInstructionAddress, Throwable exceptionObject, AbstractRegisters registers)
deliverException in class ExceptionDeliverercompiledMethod - 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 blockExceptionDeliverer.deliverException(CompiledMethod, Address, Throwable, AbstractRegisters)public void unwindStackFrame(CompiledMethod compiledMethod, AbstractRegisters registers)
unwindStackFrame in class ExceptionDeliverercompiledMethod - method whose stackframe is to be unwoundregisters - thread state to be updated by restoring non-volatiles
and unwinding the stackframeExceptionDeliverer.unwindStackFrame(CompiledMethod, AbstractRegisters)