#[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(crate) unsafe fn instance(&self) -> &Instance
pub(crate) 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
.
pub(crate) unsafe fn instance_mut(&mut self) -> &mut Instance
Trait Implementations§
Auto Trait Implementations§
impl Freeze for VMContext
impl RefUnwindSafe for VMContext
impl Send for VMContext
impl Sync for VMContext
impl Unpin for VMContext
impl UnwindSafe for VMContext
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.