[][src]Struct wasmer_engine_object_file::ObjectFileEngine

pub struct ObjectFileEngine { /* fields omitted */ }

A WebAssembly ObjectFile Engine.

Implementations

impl ObjectFileEngine[src]

pub fn headless() -> Self[src]

Create a headless ObjectFileEngine

A headless engine is an engine without any compiler attached. This is useful for assuring a minimal runtime for running WebAssembly modules.

For example, for running in IoT devices where compilers are very expensive, or also to optimize startup speed.

Important

Headless engines can't compile or validate any modules, they just take already processed Modules (via Module::serialize).

pub fn set_deterministic_prefixer<F>(&mut self, prefixer: F) where
    F: Fn(&[u8]) -> String + Send + 'static, 
[src]

Sets a prefixer for the wasm module, so we can avoid any collisions in the exported function names on the generated shared object.

This, allows us to rather than have functions named wasmer_function_1 to be named wasmer_function_PREFIX_1.

Important

This prefixer function should be deterministic, so the compilation remains deterministic.

Trait Implementations

impl Clone for ObjectFileEngine[src]

impl Engine for ObjectFileEngine[src]

pub fn target(&self) -> &Target[src]

The target

pub fn register_signature(
    &self,
    func_type: &FunctionType
) -> VMSharedSignatureIndex
[src]

Register a signature

pub fn lookup_signature(
    &self,
    sig: VMSharedSignatureIndex
) -> Option<FunctionType>
[src]

Lookup a signature

pub fn validate(&self, binary: &[u8]) -> Result<(), CompileError>[src]

Validates a WebAssembly module

pub fn compile(
    &self,
    _binary: &[u8],
    _tunables: &dyn Tunables
) -> Result<Arc<dyn Artifact>, CompileError>
[src]

Compile a WebAssembly binary (it will fail because the compiler flag is disabled).

pub unsafe fn deserialize(
    &self,
    bytes: &[u8]
) -> Result<Arc<dyn Artifact>, DeserializeError>
[src]

Deserializes a WebAssembly module (binary content of a Shared Object file)

pub unsafe fn deserialize_from_file(
    &self,
    file_ref: &Path
) -> Result<Arc<dyn Artifact>, DeserializeError>
[src]

Deserializes a WebAssembly module from a path It should point to a Shared Object file generated by this engine.

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> Instrument for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,