Module rust_jvm::vm::frame
[−]
[src]
The runtime state of a method that is currently executing in the virtual machine.
Each thread in the Java virtual machine has a runtime stack comprised of frames. A new frame is pushed onto the stack each time a method is invoked. Frames are removed from the stack either when the method of the current stack frame returns, or when an unhandled exception causes abrupt completion of the method (causing stack unwinding).
Every stack frame has an array of bytecode instructions and a program counter which define its execution. It also maintains a fixed number of local variables and an operand stack. The operand stack is the central focus of the Java machine bytecode, and is directly manipulated by the bytecode instructions (in lieu of registers).
Structs
Frame |
A frame is used to store data and partial results, as well as to perform dynamic linking, return values for methods, and dispatch exceptions. |