Go to file
2020-03-24 13:10:21 +01:00
src feat(interface-types) Rename lowering_lifting module to numbers. 2020-03-24 13:10:21 +01:00
tests test(interface-types) Fix all tests based on previous commits. 2020-02-26 15:32:14 +01:00
Cargo.toml Prepare for 0.16.2 release 2020-03-11 19:15:31 -07:00
README.md doc(interface-types) Add links to WIT instructions. 2020-03-24 12:48:33 +01:00

Wasmer logo

Build Status License Join the Wasmer Community Number of downloads from crates.io Read our API documentation

Wasmer Interface Types

Wasmer is a standalone JIT WebAssembly runtime, aiming to be fully compatible with WASI, Emscripten, Rust and Go. Learn more.

This crate is an implementation of the living WebAssembly Interface Types standard.

Encoders and decoders

The wasmer-interface-types crate comes with an encoder and a decoder for the WAT format, and the binary format, for the WebAssembly Interface Types. An encoder writes an AST into another format, like WAT or binary. A decoder reads an AST from another format, like WAT or binary.

Instructions

Very basically, WebAssembly Interface Types defines a set of instructions, used by adapters to transform the data between WebAssembly core and the outside world (learn mode).

Here is the instructions that are implemented by this crate:

Instruction WAT encoder Binary encoder WAT decoder Binary decoder Interpreter
arg.get
call-core
s8.from_i32
s8.from_i64
s16.from_i32
s16.from_i64
s32.from_i32
s32.from_i64
s64.from_i32
s64.from_i64
i32.from_s8
i32.from_s16
i32.from_s32
i32.from_s64
i64.from_s8
i64.from_s16
i64.from_s32
i64.from_s64
u8.from_i32
u8.from_i64
u16.from_i32
u16.from_i64
u32.from_i32
u32.from_i64
u64.from_i32
u64.from_i64
i32.from_u8
i32.from_u16
i32.from_u32
i32.from_u64
i64.from_u8
i64.from_u16
i64.from_u32
i64.from_u64
memory-to-string
string-to-memory
call-adapter
defer-call-core