* Use rsix to make system calls in Wasmtime. `rsix` is a system call wrapper crate that we use in `wasi-common`, which can provide the following advantages in the rest of Wasmtime: - It eliminates some `unsafe` blocks in Wasmtime's code. There's still an `unsafe` block in the library, but this way, the `unsafe` is factored out and clearly scoped. - And, it makes error handling more consistent, factoring out code for checking return values and `io::Error::last_os_error()`, and code that does `errno::set_errno(0)`. This doesn't cover *all* system calls; `rsix` doesn't implement signal-handling APIs, and this doesn't cover calls made through `std` or crates like `userfaultfd`, `rand`, and `region`.
35 lines
1.0 KiB
TOML
35 lines
1.0 KiB
TOML
[package]
|
|
name = "wasmtime-bench-api"
|
|
version = "0.19.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "Exposes a benchmarking API for the Wasmtime runtime"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
readme = "README.md"
|
|
edition = "2018"
|
|
publish = false
|
|
|
|
[lib]
|
|
name = "wasmtime_bench_api"
|
|
crate-type = ["rlib", "cdylib"]
|
|
# The rlib is only included here so that `cargo test` will run.
|
|
|
|
[dependencies]
|
|
anyhow = "1.0"
|
|
shuffling-allocator = { version = "1.1.1", optional = true }
|
|
wasmtime = { path = "../wasmtime", default-features = true }
|
|
wasmtime-wasi = { path = "../wasi" }
|
|
wasmtime-wasi-crypto = { path = "../wasi-crypto", optional = true }
|
|
wasmtime-wasi-nn = { path = "../wasi-nn", optional = true }
|
|
wasi-cap-std-sync = { path = "../wasi-common/cap-std-sync" }
|
|
cap-std = "0.19.1"
|
|
|
|
[dev-dependencies]
|
|
wat = "1.0"
|
|
|
|
[features]
|
|
default = ["shuffling-allocator"]
|
|
wasi-crypto = ["wasmtime-wasi-crypto"]
|
|
wasi-nn = ["wasmtime-wasi-nn"]
|
|
old-x86-backend = ["wasmtime/old-x86-backend"]
|