This crate is the general abstraction for creating Engines in Wasmer.
Wasmer Engines are mainly responsible for two things:
- Transform the compilation code (from any Wasmer Compiler) to
create an
Artifact
, - Load an
Artifact
so it can be used by the user (normally, pushing the code into executable memory and so on).
It currently has three implementations:
- Universal with
wasmer-engine-universal
, - Native with
wasmer-engine-dylib
, - Object with
wasmer-engine-staticlib
.
Please check wasmer-engine-dummy
for an example implementation for
an Engine
.
This project borrowed some of the code of the trap implementation from
the wasmtime-api
, the code since then has evolved significantly.
Please check Wasmer ATTRIBUTIONS
to further see licenses and other
attributions of the project.