pub struct Frame<P, K, R, H>where
P: ValueWidthPolicy,{ /* private fields */ }Expand description
One admitted activation, composed entirely from bounded machine state.
Implementations§
Source§impl<P, K, R, H> Frame<P, K, R, H>where
P: ValueWidthPolicy,
impl<P, K, R, H> Frame<P, K, R, H>where
P: ValueWidthPolicy,
Sourcepub fn new(
slot_limit: AdmissionLimit,
operand_limit: WorkLimit,
cursor: CodeCursor,
continuation: Option<K>,
roots: R,
handlers: H,
) -> Self
pub fn new( slot_limit: AdmissionLimit, operand_limit: WorkLimit, cursor: CodeCursor, continuation: Option<K>, roots: R, handlers: H, ) -> Self
Composes a frame at a validated code cursor with independently bounded storage.
Sourcepub fn operands_mut(&mut self) -> &mut UnitStack<P>
pub fn operands_mut(&mut self) -> &mut UnitStack<P>
Returns the mutable bounded operand stack.
Sourcepub fn cursor(&self) -> CodeCursor
pub fn cursor(&self) -> CodeCursor
Returns the current validated instruction cursor.
Sourcepub fn set_cursor(&mut self, cursor: CodeCursor)
pub fn set_cursor(&mut self, cursor: CodeCursor)
Moves the frame to another validated instruction cursor.
Sourcepub fn continuation(&self) -> Option<&K>
pub fn continuation(&self) -> Option<&K>
Returns the caller-defined continuation state.
Sourcepub fn handlers_mut(&mut self) -> &mut H
pub fn handlers_mut(&mut self) -> &mut H
Returns the mutable caller-defined handler state.
Trait Implementations§
Source§impl<P, K, R, H> MachineFrame for Frame<P, K, R, H>where
P: ValueWidthPolicy,
impl<P, K, R, H> MachineFrame for Frame<P, K, R, H>where
P: ValueWidthPolicy,
Source§fn cursor(&self) -> CodeCursor
fn cursor(&self) -> CodeCursor
Returns the instruction to execute next.
Source§fn set_cursor(&mut self, cursor: CodeCursor)
fn set_cursor(&mut self, cursor: CodeCursor)
Selects the next validated instruction boundary.
Source§impl<P, K, R, H> ManagedRootSource for Frame<P, K, R, H>where
P: ValueWidthPolicy,
P::Value: ManagedRootSource,
K: ManagedRootSource,
R: ManagedRootSource,
H: ManagedRootSource,
impl<P, K, R, H> ManagedRootSource for Frame<P, K, R, H>where
P: ValueWidthPolicy,
P::Value: ManagedRootSource,
K: ManagedRootSource,
R: ManagedRootSource,
H: ManagedRootSource,
Auto Trait Implementations§
impl<P, K, R, H> Freeze for Frame<P, K, R, H>
impl<P, K, R, H> RefUnwindSafe for Frame<P, K, R, H>where
R: RefUnwindSafe,
H: RefUnwindSafe,
K: RefUnwindSafe,
P: RefUnwindSafe,
<P as ValueWidthPolicy>::Value: RefUnwindSafe,
impl<P, K, R, H> Send for Frame<P, K, R, H>
impl<P, K, R, H> Sync for Frame<P, K, R, H>
impl<P, K, R, H> Unpin for Frame<P, K, R, H>
impl<P, K, R, H> UnsafeUnpin for Frame<P, K, R, H>
impl<P, K, R, H> UnwindSafe for Frame<P, K, R, H>where
R: UnwindSafe,
H: UnwindSafe,
K: UnwindSafe,
P: UnwindSafe,
<P as ValueWidthPolicy>::Value: UnwindSafe,
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