pub struct ModuleEnvironment<'a, 'data> { /* private fields */ }
Expand description

Object containing the standalone environment information.

Implementations§

source§

impl<'a, 'data> ModuleEnvironment<'a, 'data>

source

pub fn new( tunables: &'a Tunables, validator: &'a mut Validator, types: &'a mut ModuleTypesBuilder ) -> Self

Allocates the environment data structures.

source

pub fn translate( self, parser: Parser, data: &'data [u8] ) -> WasmResult<ModuleTranslation<'data>>

Translate a wasm module using this environment.

This function will translate the data provided with parser, validating everything along the way with this environment’s validator.

The result of translation, ModuleTranslation, contains everything necessary to compile functions afterwards as well as learn type information about the module at runtime.

Trait Implementations§

source§

impl TypeConvert for ModuleEnvironment<'_, '_>

source§

fn lookup_heap_type(&self, index: TypeIndex) -> WasmHeapType

Converts the specified type index from a heap type into a canonicalized heap type.
source§

fn convert_global_type(&self, ty: &GlobalType) -> Global

Converts a wasmparser table type into a wasmtime type
source§

fn convert_table_type(&self, ty: &TableType) -> Table

Converts a wasmparser table type into a wasmtime type
source§

fn convert_func_type(&self, ty: &FuncType) -> WasmFuncType

Converts a wasmparser function type to a wasmtime type
source§

fn convert_valtype(&self, ty: ValType) -> WasmType

Converts a wasmparser value type to a wasmtime type
source§

fn convert_ref_type(&self, ty: RefType) -> WasmRefType

Converts a wasmparser reference type to a wasmtime type
source§

fn convert_heap_type(&self, ty: HeapType) -> WasmHeapType

Converts a wasmparser heap type to a wasmtime type

Auto Trait Implementations§

§

impl<'a, 'data> RefUnwindSafe for ModuleEnvironment<'a, 'data>

§

impl<'a, 'data> Send for ModuleEnvironment<'a, 'data>

§

impl<'a, 'data> Sync for ModuleEnvironment<'a, 'data>

§

impl<'a, 'data> Unpin for ModuleEnvironment<'a, 'data>

§

impl<'a, 'data> !UnwindSafe for ModuleEnvironment<'a, 'data>

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> 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<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.

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.