#[repr(C, align(16))]pub struct VMContext {}
Expand description
The VM “context”, which is pointed to by the vmctx
arg in the compiler.
This has information about globals, memories, tables, and other runtime
state associated with the current instance.
The struct here is empty, as the sizes of these fields are dynamic, and we can’t describe them in Rust’s type system. Sufficient memory is allocated at runtime.
TODO: We could move the globals into the vmctx
allocation too.
Implementations§
Source§impl VMContext
impl VMContext
Sourcepub unsafe fn instance(&self) -> &Instance
pub unsafe fn instance(&self) -> &Instance
Return a mutable reference to the associated Instance
.
§Safety
This is unsafe because it doesn’t work on just any VMContext
, it must
be a VMContext
allocated as part of an Instance
.
Sourcepub unsafe fn host_state(&self) -> &dyn Any
pub unsafe fn host_state(&self) -> &dyn Any
Return a reference to the host state associated with this Instance
.
§Safety
This is unsafe because it doesn’t work on just any VMContext
, it must
be a VMContext
allocated as part of an Instance
.