Struct wasmer_vm::Global

source ·
pub struct Global { /* private fields */ }
Expand description

A Global instance

Implementations§

source§

impl Global

source

pub fn new(global_type: GlobalType) -> Self

Create a new, zero bit-pattern initialized global from a GlobalType.

source

pub fn ty(&self) -> &GlobalType

Get the type of the global.

source

pub fn vmglobal(&self) -> NonNull<VMGlobalDefinition>

Get a pointer to the underlying definition used by the generated code.

source

pub fn get<T: WasmValueType>(&self, store: &dyn Any) -> Value<T>

Get a value from the global.

source

pub unsafe fn set<T: WasmValueType>( &self, val: Value<T> ) -> Result<(), GlobalError>

Set a value for the global.

Safety

The caller should check that the val comes from the same store as this global.

source

pub unsafe fn set_unchecked<T: WasmValueType>( &self, val: Value<T> ) -> Result<(), GlobalError>

Set a value from the global (unchecked)

Safety

The caller should check that the val comes from the same store as this global. The caller should also ensure that this global is synchronized. Otherwise, use set instead.

Trait Implementations§

source§

impl Debug for Global

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Send for Global

Safety

This is safe to send between threads because there is no-thread specific logic. TODO: look into other reasons that make something not Send

source§

impl Sync for Global

Safety

This is safe to share between threads because it uses a Mutex internally.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> ArchivePointee for T

§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

source§

fn deserialize( &self, deserializer: &mut D ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointee for T

§

type Metadata = ()

The type for metadata in pointers and references to Self.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.