CACAO
|
Go to the source code of this file.
Macros | |
#define | MINIMUM_CONTEXT_SIZE |
Functions | |
void | executionstate_pop_stackframe (executionstate_t *es) |
Restore callee-saved registers (including the RA register), set the stack pointer to the next stackframe, set the PC to the return address of the popped frame. More... | |
void | executionstate_unwind_exception (executionstate_t *es, java_handle_t *e) |
Performs stack unwinding in case of an exception. More... | |
void | executionstate_sanity_check (void *context) |
void | executionstate_println (executionstate_t *es) |
#define MINIMUM_CONTEXT_SIZE |
void executionstate_pop_stackframe | ( | executionstate_t * | es | ) |
Restore callee-saved registers (including the RA register), set the stack pointer to the next stackframe, set the PC to the return address of the popped frame.
*** This function imitates the effects of the method epilog *** *** and returning from the method call. ***
es | Execution state to be modified. NOTE: es->code and es->pv are NOT updated. |
Definition at line 52 of file executionstate.cpp.
void executionstate_println | ( | executionstate_t * | es | ) |
Definition at line 287 of file executionstate.cpp.
Definition at line 200 of file executionstate.cpp.
void executionstate_unwind_exception | ( | executionstate_t * | es, |
java_handle_t * | e | ||
) |
Performs stack unwinding in case of an exception.
This is done by popping frames off the given execution state until a frame is reached for which there is a handler. Execution will continue at the handler site once the execution state is written back to the machine.
es | Execution state to be modified. |
e | The thrown exception object. |
This is specified in: The Java(TM) Virtual Machine Specification, Second Edition Section 3.6.5: Abrupt Method Invocation Completion
Definition at line 156 of file executionstate.cpp.