mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-16 17:18:57 +00:00
2693: Add extra validation to compilers & engines r=ptitSeb a=Amanieu - Cranelift and singlepass now properly cross-compile with no dependency on the host target. - Staticlib engine now panics if you try to run a freshly compiled module. - CPU features used when a module was compiled are now checked against the host CPU features during instantiation. Fixes #1567 Fixes #2590 Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
wasmer-compiler-cranelift

This crate contains a compiler implementation based on Cranelift.
Usage
use wasmer::{Store, Universal};
use wasmer_compiler_cranelift::Cranelift;
let compiler = Cranelift::new();
// Put it into an engine and add it to the store
let store = Store::new(&Universal::new(compiler).engine());
Note: you can find a full working example using Cranelift compiler here.
When to use Cranelift
We recommend using this compiler crate only for development
proposes. For production we recommend using wasmer-compiler-llvm
as it offers a much better runtime speed (50% faster on average).
Acknowledgments
This project borrowed some of the function lowering from
cranelift-wasm.
Please check Wasmer ATTRIBUTIONS to further see licenses and other
attributions of the project.