[][src]Struct wasmtime_jit::CompiledModule

pub struct CompiledModule { /* fields omitted */ }

A compiled wasm module, ready to be instantiated.

Implementations

impl CompiledModule[src]

pub fn new<'data>(
    compiler: &Compiler,
    data: &'data [u8],
    profiler: &dyn ProfilingAgent
) -> Result<Self, SetupError>
[src]

Compile a data buffer into a CompiledModule, which may then be instantiated.

pub fn from_artifacts(
    artifacts: CompilationArtifacts,
    isa: &dyn TargetIsa,
    profiler: &dyn ProfilingAgent
) -> Result<Self, SetupError>
[src]

Creates CompiledModule directly from CompilationArtifacts.

pub fn to_compilation_artifacts(&self) -> CompilationArtifacts[src]

Extracts CompilationArtifacts from the compiled module.

pub unsafe fn instantiate(
    &self,
    imports: Imports<'_>,
    signature_registry: &mut SignatureRegistry,
    mem_creator: Option<&dyn RuntimeMemoryCreator>,
    interrupts: Arc<VMInterrupts>,
    host_state: Box<dyn Any>,
    externref_activations_table: *mut VMExternRefActivationsTable,
    stack_map_registry: *mut StackMapRegistry
) -> Result<InstanceHandle, InstantiationError>
[src]

Crate an Instance from this CompiledModule.

Note that if only one instance of this module is needed, it may be more efficient to call the top-level instantiate, since that avoids copying the data initializers.

Unsafety

See InstanceHandle::new

pub fn data_initializers(&self) -> Vec<DataInitializer<'_>>[src]

Returns data initializers to pass to InstanceHandle::initialize

pub fn module(&self) -> &Arc<Module>[src]

Return a reference-counting pointer to a module.

pub fn module_mut(&mut self) -> Option<&mut Module>[src]

Return a reference to a mutable module (if possible).

pub fn finished_functions(
    &self
) -> &BoxedSlice<DefinedFuncIndex, *mut [VMFunctionBody]>
[src]

Returns the map of all finished JIT functions compiled for this module

pub fn stack_maps(
    &self
) -> impl Iterator<Item = (*mut [VMFunctionBody], &[StackMapInformation])>
[src]

Returns the stack map information for all functions defined in this module.

The iterator returned iterates over the span of the compiled function in memory with the stack maps associated with those bytes.

pub fn trap_information(
    &self
) -> impl Iterator<Item = (DefinedFuncIndex, *mut [VMFunctionBody], &[TrapInformation], &FunctionAddressMap)>
[src]

Iterates over all functions in this module, returning information about how to decode traps which happen in the function.

pub fn jit_code_ranges<'a>(
    &'a self
) -> impl Iterator<Item = (usize, usize)> + 'a
[src]

Returns all ranges convered by JIT code.

pub fn code(&self) -> &Arc<ModuleCode>[src]

Returns module's JIT code.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.