pulley_interpreter::encode

Function call_indirect_host

Source
pub fn call_indirect_host<E>(into: &mut E, sig: impl Into<u8>)
where E: Extend<u8>,
Available on crate feature encode only.
Expand description

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.