Struct wasmtime_runtime::VMHostFuncContext
source · #[repr(C)]pub struct VMHostFuncContext { /* private fields */ }
Expand description
The VM*Context
for host functions.
Its magic
field must always be wasmtime_environ::VM_HOST_FUNC_MAGIC
, and
this is how you can determine whether a VM*Context
is a
VMHostFuncContext
versus a different kind of context.
Implementations§
source§impl VMHostFuncContext
impl VMHostFuncContext
sourcepub unsafe fn new(
host_func: NonNull<VMFunctionBody>,
signature: VMSharedSignatureIndex,
host_state: Box<dyn Any + Send + Sync>
) -> Box<VMHostFuncContext>
pub unsafe fn new( host_func: NonNull<VMFunctionBody>, signature: VMSharedSignatureIndex, host_state: Box<dyn Any + Send + Sync> ) -> Box<VMHostFuncContext>
Create the context for the given host function.
Safety
The host_func
must be a pointer to a host (not Wasm) function and it
must be Send
and Sync
.
sourcepub fn wasm_to_host_trampoline(&self) -> NonNull<VMCallerCheckedAnyfunc>
pub fn wasm_to_host_trampoline(&self) -> NonNull<VMCallerCheckedAnyfunc>
Get the Wasm-to-host trampoline for this host function context.
sourcepub fn host_state(&self) -> &(dyn Any + Send + Sync)
pub fn host_state(&self) -> &(dyn Any + Send + Sync)
Get the host state for this host function context.
source§impl VMHostFuncContext
impl VMHostFuncContext
sourcepub unsafe fn from_opaque(
opaque: *mut VMOpaqueContext
) -> *mut VMHostFuncContext
pub unsafe fn from_opaque( opaque: *mut VMOpaqueContext ) -> *mut VMHostFuncContext
Helper function to cast between context types using a debug assertion to protect against some mistakes.
Trait Implementations§
impl Send for VMHostFuncContext
impl Sync for VMHostFuncContext
Auto Trait Implementations§
impl !RefUnwindSafe for VMHostFuncContext
impl Unpin for VMHostFuncContext
impl !UnwindSafe for VMHostFuncContext
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