[−][src]Struct wasmer_runtime::Ctx
The context of the currently running WebAssembly instance.
This is implicitly passed to every WebAssembly function. Since this is per-instance, each field has a statically (as in after compiling the wasm) known size, so no runtime checks are necessary.
While the runtime currently just passes this around as the first, implicit parameter of every function, it may someday be pinned to a register (especially on arm, which has a ton of registers) to reduce register shuffling.
Fields
module_info: *const ModuleInfoA pointer to the ModuleInfo of this instance.
data: *mut c_voidThis is intended to be user-supplied, per-instance
contextual data. There are currently some issue with it,
notably that it cannot be set before running the start
function in a WebAssembly module. Additionally, the data
field may be taken by another ABI implementation that the user
wishes to use in addition to their own, such as WASI. This issue is
being discussed at #1111.
Alternatively, per-function data can be used if the function in the
[ImportObject] is a closure. This cannot duplicate data though,
so if data may be shared if the [ImportObject] is reused.
data_finalizer: Option<fn(*mut c_void)>If there's a function set in this field, it gets called
when the context is destructed, e.g. when an Instance
is dropped.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for Ctx
impl !Send for Ctx
impl !Sync for Ctx
impl Unpin for Ctx
impl UnwindSafe for Ctx
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,