pub enum ExtendedOp {
Trap(Trap),
Nop(Nop),
CallIndirectHost(CallIndirectHost),
}
Expand description
An extended operation/instruction.
These tend to be colder than Op
s.
Variants§
Trap(Trap)
Raise a trap.
Nop(Nop)
Do nothing.
CallIndirectHost(CallIndirectHost)
A special opcode to use an indirect function call to reenter the host from the interpreter.
This is used to implement host intrinsics such as memory.grow
for example where that needs to reenter the host from the
interpreter.
The sig
immediate here is the Nth signature in the
for_each_host_signature!
macro below. The 0th “argument”, in
register x0, is the function pointer that’s being called and all
further arguments follow after that in registers.
Implementations§
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for ExtendedOp
impl<'arbitrary> Arbitrary<'arbitrary> for ExtendedOp
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self
from the entirety of the given
unstructured data. Read moreSource§impl Clone for ExtendedOp
impl Clone for ExtendedOp
Source§fn clone(&self) -> ExtendedOp
fn clone(&self) -> ExtendedOp
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for ExtendedOp
impl Debug for ExtendedOp
Source§impl From<CallIndirectHost> for ExtendedOp
impl From<CallIndirectHost> for ExtendedOp
Source§fn from(op: CallIndirectHost) -> Self
fn from(op: CallIndirectHost) -> Self
Converts to this type from the input type.
Source§impl From<ExtendedOp> for Op
impl From<ExtendedOp> for Op
Source§fn from(op: ExtendedOp) -> Self
fn from(op: ExtendedOp) -> Self
Converts to this type from the input type.
Source§impl From<Nop> for ExtendedOp
impl From<Nop> for ExtendedOp
Source§impl From<Trap> for ExtendedOp
impl From<Trap> for ExtendedOp
Source§impl Hash for ExtendedOp
impl Hash for ExtendedOp
Source§impl Ord for ExtendedOp
impl Ord for ExtendedOp
Source§fn cmp(&self, other: &ExtendedOp) -> Ordering
fn cmp(&self, other: &ExtendedOp) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for ExtendedOp
impl PartialEq for ExtendedOp
Source§impl PartialOrd for ExtendedOp
impl PartialOrd for ExtendedOp
impl Copy for ExtendedOp
impl Eq for ExtendedOp
impl StructuralPartialEq for ExtendedOp
Auto Trait Implementations§
impl Freeze for ExtendedOp
impl RefUnwindSafe for ExtendedOp
impl Send for ExtendedOp
impl Sync for ExtendedOp
impl Unpin for ExtendedOp
impl UnwindSafe for ExtendedOp
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