Robin Freyler
Robin Freyler
#1449 has just been merged which unblocks this issue.
A signature proposal for all instruction execution handlers could look like this: ```rust fn handler( store: &mut PrunedStore, ip: *mut Instruction, sp: *mut UntypedVal, mem0: *mut u8, len_mem0: usize, instance:...
I just found one reason why it regressed: I benchmarked without setting the `no-hash-maps` feature. Generally `BTreeMap` is faster than `HashMap` for Wasmi uses and the old `wasmparser-nostd` fork alsways...
Running yet another benchmark because I forgot to use `no-hash-maps` on `main`. 🤦 This is the slowdown from `main` to this PR: 
After improving translation benchmarks and updating `wasmparser` to `v0.218.0` I reran benchmarks: ## tl;dr Conclusions - Benchmarks with validation (`checked`) are affected a lot worse. - Wasm validation seems to...
With `wasmparser v0.219.0` there is a new `component-model` crate feature which disables Wasm component-model support. Wasmi can disable this for some nice compile time improvements: **v0.218.0:** ``` cargo build -p...
I just found out that `wasmparser` v0.219.0 has this API: https://docs.rs/wasmparser/0.219.1/wasmparser/struct.FunctionBody.html#method.as_bytes This will likely fix a workaround in Wasmi: - https://github.com/wasmi-labs/wasmi/blob/02621ad7a7f769dc97524075a693cc96e2049cb5/crates/wasmi/src/module/parser/buffered.rs#L159-L170 - https://github.com/wasmi-labs/wasmi/blob/02621ad7a7f769dc97524075a693cc96e2049cb5/crates/wasmi/src/engine/translator/driver.rs#L19-L31
With https://github.com/bytecodealliance/wasm-tools/pull/1906 merged we can also merge this PR once `wasmparser` v0.221 has been released which might happen next week. 🎉 cc @danielstuart14
@juntyr this sounds interesting. do you have a link to your stable fuel metering? Ideally the stable fuel metering was both stable and kinda efficient. Before Wasmi had built-in fuel...
What you describe with your gas metering sounds extremely similar to what has been done some years ago in the `wasm-instrument` crate, together with other Wasm instrumentation such as stack...