Trait wasmer_engine::Engine
source · pub trait Engine {
// Required methods
fn target(&self) -> &Target;
fn register_signature(
&self,
func_type: FunctionTypeRef<'_>
) -> VMSharedSignatureIndex;
fn register_function_metadata(
&self,
func_data: VMCallerCheckedAnyfunc
) -> VMFuncRef;
fn lookup_signature(
&self,
sig: VMSharedSignatureIndex
) -> Option<FunctionType>;
fn validate(&self, binary: &[u8]) -> Result<(), CompileError>;
fn compile(
&self,
binary: &[u8],
tunables: &dyn Tunables
) -> Result<Box<dyn Executable>, CompileError>;
fn load(
&self,
executable: &dyn Executable
) -> Result<Arc<dyn Artifact>, CompileError>;
fn id(&self) -> &EngineId;
fn cloned(&self) -> Arc<dyn Engine + Send + Sync>;
}
Expand description
A unimplemented Wasmer Engine
.
This trait is used by implementors to implement custom engines such as: Universal or Native.
The product that an Engine
produces and consumes is the Artifact
.
Required Methods§
sourcefn register_signature(
&self,
func_type: FunctionTypeRef<'_>
) -> VMSharedSignatureIndex
fn register_signature( &self, func_type: FunctionTypeRef<'_> ) -> VMSharedSignatureIndex
Register a signature
sourcefn register_function_metadata(
&self,
func_data: VMCallerCheckedAnyfunc
) -> VMFuncRef
fn register_function_metadata( &self, func_data: VMCallerCheckedAnyfunc ) -> VMFuncRef
Register a function’s data.
sourcefn lookup_signature(&self, sig: VMSharedSignatureIndex) -> Option<FunctionType>
fn lookup_signature(&self, sig: VMSharedSignatureIndex) -> Option<FunctionType>
Lookup a signature
sourcefn compile(
&self,
binary: &[u8],
tunables: &dyn Tunables
) -> Result<Box<dyn Executable>, CompileError>
fn compile( &self, binary: &[u8], tunables: &dyn Tunables ) -> Result<Box<dyn Executable>, CompileError>
Compile a WebAssembly binary
sourcefn load(
&self,
executable: &dyn Executable
) -> Result<Arc<dyn Artifact>, CompileError>
fn load( &self, executable: &dyn Executable ) -> Result<Arc<dyn Artifact>, CompileError>
Load a compiled executable with this engine.