[−][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
internal: InternalCtx
module: *const ModuleInner
data: *mut c_void
contextual data. There are currently some issue with it,
notably that it cannot be set before running the start
function in a WebAssembly module.
#219 fixes that issue, as well as allowing the user to have per-function context, instead of just per-instance.
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.
Methods
impl Ctx
[src]
pub fn memory(&self, mem_index: u32) -> &Memory
[src]
This exposes the specified memory of the WebAssembly instance as a immutable slice.
WebAssembly will soon support multiple linear memories, so this forces the user to specify.
Usage:
fn read_memory(ctx: &Ctx) -> u8 { let first_memory = ctx.memory(0); // Read the first byte of that linear memory. first_memory.view()[0].get() }
pub unsafe fn borrow_symbol_map(
&self
) -> &Option<HashMap<u32, String, BuildHasherDefault<FxHasher>>>
[src]
&self
) -> &Option<HashMap<u32, String, BuildHasherDefault<FxHasher>>>
Gives access to the emscripten symbol map, used for debugging
pub fn dynamic_sigindice_count(&self) -> usize
[src]
Returns the number of dynamic sigindices.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,