Cargo Features

[dependencies]
wasmi_wast = { version = "2.0.0-beta.2", default-features = false, features = ["portable-dispatch", "indirect-dispatch", "extra-checks", "stable", "unstable"] }
default = extra-checks, portable-dispatch, stable

These default features are set whenever wasmi_wast is added without default-features = false somewhere in the dependency tree.

portable-dispatch default

Enables portable-dispatch of wasmi

wasmi:

Enables a portable dispatch scheme that avoids tail-call reliance.
Recommended for targets without stable or guaranteed tail-call support.

indirect-dispatch

Enables indirect-dispatch of wasmi

wasmi:

Enables an indirect dispatch scheme using op-codes instead of embedded function pointers for more compact bytecode.

extra-checks default

Enables extra-checks of wasmi

wasmi:

Enables extra checks performed during Wasmi bytecode execution.

These checks are unnecessary as long as Wasmi translation works as intended.
If Wasmi translation invariants are broken due to bugs, these checks prevent Wasmi execution to exhibit undefined behavior (UB) in certain cases.

Expected execution overhead is upt to 20%, if enabled.

- Enable if your focus is on safety.
- Disable if your focus is on execution speed.

stable default
unstable

Enables unstable of wasmi

wasmi_wast has 6 features without comments.