[package] name = "wasmi" version.workspace = true rust-version.workspace = true documentation = "https://docs.rs/wasmi/" description = "WebAssembly interpreter" authors.workspace = true repository.workspace = true edition.workspace = true readme.workspace = true license.workspace = true keywords.workspace = true categories.workspace = true exclude = [ "benches/wat", "benches/wasm", "tests/spec/testsuite", "**.wast", ] [dependencies] wasmparser = { version = "0.221.0", default-features = false, features = ["validate", "features"] } wasmi_core = { workspace = true } wasmi_collections = { workspace = true } wasmi_ir = { workspace = true } spin = { version = "0.9", default-features = false, features = [ "mutex", "spin_mutex", "rwlock", ] } smallvec = { version = "1.13.1", features = ["union"] } multi-stash = { version = "0.2.0" } arrayvec = { version = "0.7.4", default-features = false } # [dev-dependencies] # wat = { version = "1", default-features = false } # assert_matches = "1.5" # anyhow = "1" # wasmi_wast = { workspace = true } # criterion = { version = "0.5", default-features = false } [features] default = ["std"] std = [ "wasmi_core/std", "wasmi_collections/std", "wasmparser/std", "spin/std", "arrayvec/std", ] hash-collections = [ "wasmi_collections/hash-collections", "wasmparser/hash-collections", ] prefer-btree-collections = [ "wasmi_collections/prefer-btree-collections", "wasmparser/prefer-btree-collections", ] # 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. extra-checks = [] [[bench]] name = "benches" harness = false