wasmi 0.39.1

WebAssembly interpreter
Documentation
[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.100.2", package = "wasmparser-nostd", default-features = false }
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"]
prefer-btree-collections = ["wasmi_collections/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