pub trait ExtendedOpVisitor: OpVisitor {
// Required methods
fn trap(&mut self) -> Self::Return;
fn nop(&mut self) -> Self::Return;
fn call_indirect_host(&mut self, sig: u8) -> Self::Return;
}
Available on crate feature
decode
only.Expand description
Like OpVisitor
but for extended operations.
Required Methods§
Sourcefn call_indirect_host(&mut self, sig: u8) -> Self::Return
fn call_indirect_host(&mut self, sig: u8) -> Self::Return
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.
Implementors§
impl ExtendedOpVisitor for Disassembler<'_>
Available on crate feature
disas
only.