Sourced from wasmi's releases.
v0.31.0 - 2023-07-31
Added
- Added
ResourceLimiterAPI known from Wasmtime. (paritytech/wasmi#737)
- This API allows to limit growable Wasm resources such as Wasm tables and linear memories.
- Special thanks to Graydon Hoare for contributing this feature!
Fixes
- Fixed a bug were
Module::len_globalsinternal API returned length of linear memories instead. (paritytech/wasmi#741)Changed
- Removed
intxcrate dependency. (paritytech/wasmi#727)
- The dependence on the
intxcrate was accidental and not really required at any time.- Optimized
f64.constinstructions forf64constant values that can losslessly be encoded as 32-bitf32value. (paritytech/wasmi#746)Dev. Note
- We now publish and record graphs of benchmarks over time. (paritytech/wasmi#740)
- This allows
wasmidevelopers to better inspect performance changes over longer periods of time.- Updated dev. dependencies:
criterion 0.4.0->0.5.0wast 0.52.0->0.62.0
Sourced from wasmi's changelog.
[
0.31.0] - 2023-07-31Added
- Added
ResourceLimiterAPI known from Wasmtime. (paritytech/wasmi#737)
- This API allows to limit growable Wasm resources such as Wasm tables and linear memories.
- Special thanks to Graydon Hoare for contributing this feature!
Fixes
- Fixed a bug were
Module::len_globalsinternal API returned length of linear memories instead. (paritytech/wasmi#741)Changed
- Removed
intxcrate dependency. (paritytech/wasmi#727)
- The dependence on the
intxcrate was accidental and not really required at any time.- Optimized
f64.constinstructions forf64constant values that can losslessly be encoded as 32-bitf32value. (paritytech/wasmi#746)Dev. Note
- We now publish and record graphs of benchmarks over time. (paritytech/wasmi#740)
- This allows
wasmidevelopers to better inspect performance changes over longer periods of time.- Updated dev. dependencies:
criterion 0.4.0->0.5.0wast 0.52.0->0.62.0[
0.30.0] - 2023-05-28Changed
- Optimized
wasmibytecode memory consumption. (paritytech/wasmi#718)
- This reduced the memory consumption of
wasmibytecode by organizing the instructions into so-called instruction words, effectively reducing the amount of bytes required perwasmiinstruction 16 bytes to 8 bytes. There was an experiment with 4 bytes but experiments confirmed that 8 bytes per instruction word was the sweetspot forwasmiexecution and translation performance.- This did not affect execution performance too much but we saw performance improvements for translation from Wasm to
wasmibytecode by roughly 15-20%.- Optimized
callandreturn_callfor Wasm module internal calls. (paritytech/wasmi#724)
wasmibytecode now differentiates between calls to Wasm module internal functions and imported functions which allows thewasmibytecode executor to perform the common internal calls more efficiently.- This led to an execution performance improvement across the board but especially for call intense workloads of up to 30% in some test cases.
[
0.29.0] - 2023-03-20Added
- Added support for
extended-constWasm proposal. (paritytech/wasmi#707)
... (truncated)
983ef37
Prepare wasmi release for version 0.31.0 (#748)af8c588
Publishing benchmarks for graphs (#740)ee577f2
Refactor reftype Transposer conversion utility
(#747)ed12feb
Add F64Const32 instruction (#746)fbe1810
Fix clippy warning (#745)e5fdb7f
fixes #735:
copy paste typo (#741)4860ecc
Support for ResourceLimiter API (#737)799995d
make ConstRef based on u32 instead of
intx::U24 (#727)4fb164c
Prepare release of wasmi version 0.30.0 (#726)a6165a6
smol clean-up (#725)