#wasm-module #cranelift #memory #ir #table

no-std alexcrichton-cranelift-wasm

Translator from WebAssembly to Cranelift IR

2 unstable releases

0.53.0 Jan 10, 2020
0.52.0 Jan 10, 2020

#49 in #cranelift

Apache-2.0 WITH LLVM-exception

2MB
37K SLoC

This crate performs the translation from a wasm module in binary format to the in-memory form of the Cranelift IR.

If you're looking for a complete WebAssembly implementation that uses this library, see Wasmtime.


lib.rs:

Performs translation from a wasm module in binary format to the in-memory form of Cranelift IR. More particularly, it translates the code of all the functions bodies and interacts with an environment implementing the ModuleEnvironment trait to deal with tables, globals and linear memory.

The crate provides a DummyEnvironment struct that will allow to translate the code of the functions but will fail at execution.

The main function of this module is translate_module.

Dependencies

~1.7–2.7MB
~56K SLoC