tinywasm 0.9.0

A tiny WebAssembly interpreter
Documentation
[package]
name="tinywasm"
version.workspace=true
description="A tiny WebAssembly interpreter"
edition.workspace=true
license.workspace=true
authors.workspace=true
repository.workspace=true
rust-version.workspace=true
keywords.workspace=true
categories.workspace=true
readme="../../README.md"

[lib]
name="tinywasm"
path="src/lib.rs"

[package.metadata.docs.rs]
features=["std", "parser", "archive", "log", "canonicalize-nans", "debug", "guest-debug"]
rustdoc-args=["--cfg", "docsrs"]

[dependencies]
log={workspace=true, optional=true}
tinywasm-parser={workspace=true, optional=true}
tinywasm-types={workspace=true}
libm={version="0.2", default-features=false}

[dev-dependencies]
wasm-testsuite.workspace=true
tinywasm-cli={path="../cli", features=["wast", "wat"]}
wat.workspace=true
eyre.workspace=true
criterion.workspace=true
owo-colors.workspace=true
serde_json.workspace=true
serde.workspace=true

[features]
default=["std", "parser", "log", "archive", "canonicalize-nans", "debug", "parallel-parser"]

log=["dep:log", "tinywasm-parser?/log", "tinywasm-types/log"]
std=["tinywasm-parser?/std", "tinywasm-types/std"]

# support for parsing WebAssembly
parser=["dep:tinywasm-parser"]

# parallelize function parsing/validation across threads (requires std)
parallel-parser=["parser", "tinywasm-parser?/parallel"]

# support for "archiving" tinywasm bytecode
archive=["tinywasm-types/archive"]

# canonicalize all NaN values to a single representation
canonicalize-nans=[]

# derive Debug for runtime/types structs
debug=["tinywasm-types/debug"]

# expose module-internal by-index inspection APIs for non-exported entities (for testing and debugging)
guest-debug=[]

# enable x86-specific SIMD intrinsics in Value128 (uses unsafe code)
# note: for x86 backend selection, compile with x86-64-v3 target features
# (for example: `RUSTFLAGS="-C target-cpu=x86-64-v3"`)
simd-x86=[]

[[test]]
name="test-wasm-1"
harness=false

[[test]]
name="test-wasm-2"
harness=false

[[test]]
name="test-wasm-multi-memory"
harness=false

[[test]]
name="test-wasm-annotations"
harness=false

[[test]]
name="test-wasm-custom-page-sizes"
harness=false

[[test]]
name="test-wasm-custom"
harness=false

[[test]]
name="test-wasm-tail-call"
harness=false

[[test]]
name="test-wasm-memory64"
harness=false

[[test]]
name="test-wasm-extended-const"
harness=false

[[test]]
name="test-wasm-relaxed-simd"
harness=false

[[test]]
name="test-wasm-simd"
harness=false

[[test]]
name="test-wasm-wide-arithmetic"
harness=false

[[test]]
name="test-wasm-sign-extension-op"
harness=false

[[test]]
name="test-wasm-nontrapping-float-to-int-conversions"
harness=false

[[test]]
name="test-wasm-reference-types"
harness=false

[[bench]]
name="argon2id"
harness=false

[[bench]]
name="fibonacci"
harness=false

[[bench]]
name="tinywasm"
harness=false

[[bench]]
name="tinywasm_modes"
harness=false

[[bench]]
name="memory_backends"
harness=false

[[test]]
name="test-wasm-3"
harness=false
test=false

[[test]]
name="test-wasm-latest"
harness=false
test=false

[[test]]
name="test-wasm-threads"
harness=false
test=false

[[test]]
name="test-wast"
harness=false
test=false

[[test]]
name="test-wasm-function-references"
harness=false
test=false

[[test]]
name="test-wasm-gc"
harness=false
test=false