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)