[−][src]Trait wasmer_engine::Engine
A unimplemented Wasmer Engine
.
This trait is used by implementors to implement custom engines such as: JIT or Native.
The product that an Engine
produces and consumes is the Artifact
.
Required methods
pub fn target(&self) -> &Target
[src]
Gets the target
pub fn register_signature(
&self,
func_type: &FunctionType
) -> VMSharedSignatureIndex
[src]
&self,
func_type: &FunctionType
) -> VMSharedSignatureIndex
Register a signature
pub fn lookup_signature(
&self,
sig: VMSharedSignatureIndex
) -> Option<FunctionType>
[src]
&self,
sig: VMSharedSignatureIndex
) -> Option<FunctionType>
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]
&self,
binary: &[u8],
tunables: &dyn Tunables
) -> Result<Arc<dyn Artifact>, CompileError>
Compile a WebAssembly binary
pub unsafe fn deserialize(
&self,
bytes: &[u8]
) -> Result<Arc<dyn Artifact>, DeserializeError>
[src]
&self,
bytes: &[u8]
) -> Result<Arc<dyn Artifact>, DeserializeError>
Deserializes a WebAssembly module
Safety
The serialized content must represent a serialized WebAssembly module.
pub fn id(&self) -> &EngineId
[src]
A unique identifier for this object.
This exists to allow us to compare two Engines for equality. Otherwise, comparing two trait objects unsafely relies on implementation details of trait representation.
pub fn cloned(&self) -> Arc<dyn Engine + Send + Sync>
[src]
Clone the engine
Provided methods
pub unsafe fn deserialize_from_file(
&self,
file_ref: &Path
) -> Result<Arc<dyn Artifact>, DeserializeError>
[src]
&self,
file_ref: &Path
) -> Result<Arc<dyn Artifact>, DeserializeError>
Deserializes a WebAssembly module from a path
Safety
The file's content must represent a serialized WebAssembly module.