struct VM<'brw, 'env, 'rt> {
pc: ProgramCounter,
func: Slot<&'rt ByteFn>,
handlers: Vec<Handler<'rt>>,
env: &'brw mut Rt<Env<'env>>,
}
Expand description
The bytecode VM. This hold all the current call frames and handlers. The execution stack is part of the Environment.
Fields§
§pc: ProgramCounter
Current program counter
func: Slot<&'rt ByteFn>
The current function being executed. Saved to ensure it is preserved by the garbage collector.
handlers: Vec<Handler<'rt>>
All currently active condition-case handlers
env: &'brw mut Rt<Env<'env>>
The runtime environment
Trait Implementations§
Source§impl<'brw, 'env, 'rt> RootedDeref for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> RootedDeref for VM<'brw, 'env, 'rt>
Auto Trait Implementations§
impl<'brw, 'env, 'rt> !Freeze for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> !RefUnwindSafe for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> !Send for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> !Sync for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> Unpin for VM<'brw, 'env, 'rt>
impl<'brw, 'env, 'rt> !UnwindSafe for VM<'brw, 'env, 'rt>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more