org.jikesrvm.jni.ia32
Class JNIExceptionDeliverer
java.lang.Object
org.jikesrvm.runtime.ExceptionDeliverer
org.jikesrvm.jni.ia32.JNIExceptionDeliverer
public class JNIExceptionDeliverer
- extends ExceptionDeliverer
Exception delivery mechanisms for JNI on IA32
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
JNIExceptionDeliverer
public JNIExceptionDeliverer()
deliverException
public void deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
ArchitectureSpecific.Registers registers)
- Deliver exception, not possible for JNI methods
- Specified by:
deliverException
in class ExceptionDeliverer
- Parameters:
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 block- See Also:
ExceptionDeliverer.deliverException(org.jikesrvm.compilers.common.CompiledMethod, org.vmmagic.unboxed.Address, java.lang.Throwable, org.jikesrvm.ArchitectureSpecific.Registers)
unwindStackFrame
public void unwindStackFrame(CompiledMethod compiledMethod,
ArchitectureSpecific.Registers registers)
- Unwind registers/stack through JNI method
- Specified by:
unwindStackFrame
in class ExceptionDeliverer
- Parameters:
compiledMethod
- method whose stackframe is to be unwoundregisters
- thread state to be updated by restoring non-volatiles
and unwinding the stackframe- See Also:
ExceptionDeliverer.unwindStackFrame(org.jikesrvm.compilers.common.CompiledMethod, org.jikesrvm.ArchitectureSpecific.Registers)