Function wasmer_vm::trap::traphandlers::wasmer_call_trampoline

source ·
pub unsafe fn wasmer_call_trampoline(
    trap_handler: Option<*const TrapHandlerFn<'static>>,
    config: &VMConfig,
    vmctx: VMFunctionContext,
    trampoline: VMTrampoline,
    callee: *const VMFunctionBody,
    values_vec: *mut u8,
) -> Result<(), Trap>
Expand description

Call the wasm function pointed to by callee.

  • vmctx - the callee vmctx argument
  • caller_vmctx - the caller vmctx argument
  • trampoline - the jit-generated trampoline whose ABI takes 4 values, the callee vmctx, the caller vmctx, the callee argument below, and then the values_vec argument.
  • callee - the third argument to the trampoline function
  • values_vec - points to a buffer which holds the incoming arguments, and to which the outgoing return values will be written.

§Safety

Wildly unsafe because it calls raw function pointers and reads/writes raw function pointers.