Skip to content

Commit

Permalink
Prepare for wasmi 0.15 release (#414)
Browse files Browse the repository at this point in the history
* bump wasmi_core version 0.2 -> 0.3

* prepare CHANGELOG for wasmi 0.15 release

* add ###Changed item to CHANGELOG for wasmi 0.15 release

* bump wasmi version 0.14 -> 0.15

* move trap refactoring CHANGELOG item to ###Changed

This is since it is observable to users of wasmi due to Trap being a type in its API.

* mention update to wasmi_core version 0.3.0 in CHANGELOG
  • Loading branch information
Robbepop authored Aug 22, 2022
1 parent c0df344 commit 944a88a
Show file tree
Hide file tree
Showing 3 changed files with 51 additions and 3 deletions.
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,54 @@ The format is loosely based on [Keep a Changelog](https://keepachangelog.com/en/
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
Additionally we have an `Internal` section for changes that are of interest to developers.

## [0.15.0] - 2022-08-22

### Fixed

- Fixed bugs found during fuzzing the translation phase of `wasmi`.
[**Link**](https://github.com/paritytech/wasmi/commit/43d7037745a266ece2baccd9e78f7d983dacbb93)
- Fix `Read` trait implementation for `no_std` compilations.
[**Link**](https://github.com/paritytech/wasmi/commit/baab359de955240fbb9c89ebbc369d7a6e6d8569)

### Changed

- Update to `wasmi_core` version `0.3.0`.
- Changed API of `wasmi::Config` in order to better reflect the API of
`wasmtime::Config`.
- Refactor `Trap` type to be of pointer size which resulted in significant
performance wins across the board especially for call intense work loads.
[**Link**](https://github.com/paritytech/wasmi/commit/4a5d113a11a0f0020491c2cc08dd195a184256f0)

### Removed

- Removed support for virtual memory based Wasm linear memory.
We decided to remove support since benchmarks showed that our current
implementation actually regresses performance compared to our naive
`Vec` based implementation.
[**Link**](https://github.com/paritytech/wasmi/commit/10f8780a49b8cc8d8719e2b74089bf6848b8f982)

### Internal

- The `wasmi::Engine` now caches the bytes of the default linear memory for
performance wins in `memory.store` and `memory.load` intense work loads.
[**Link**](https://github.com/paritytech/wasmi/commit/c0df344e970bcdd4c6ce25f64265c854a1239220)
- The `wasmi` engine internals have been reorganized and modernised to improve
performance on function call intense work loads. This resulted in performance
improvements across the board.
[**Link**](https://github.com/paritytech/wasmi/commit/d789570b51effb3a0c397c2d4ea1dc03c5d76918)
- The Wasm to `wasmi` bytecode translation now properly reuses heap allocations
across function translation units which improved translation performance by
roughly 10%.
[**Link**](https://github.com/paritytech/wasmi/commit/71a913fc508841b3b7f799c8e4406e1e48feb046)
- Optimized the `wasmi` engine Wasm value stack implementation for significant
performance wins across the board.
[**Link**](https://github.com/paritytech/wasmi/commit/3886d9190e89d44a701ad5cbbda0c7457feba510)
- Shrunk size of some internal identifier types for minor performance wins.
[**Link**](https://github.com/paritytech/wasmi/commit/3d544b82a5089ae4331024b1e6762dcb48a02898)
- Added initial naive fuzz testing for Wasm parsing, validation and Wasm to
`wasmi` bytecode translation.
[**Link**](https://github.com/paritytech/wasmi/commit/4d1f2ad6cbf07e61656185101bbd0bd5a941335f)

## [0.14.0] - 2022-07-26

### Added
Expand Down
2 changes: 1 addition & 1 deletion core/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi_core"
version = "0.2.0"
version = "0.3.0"
edition = "2021"
authors = ["Parity Technologies <[email protected]>"]
license = "MIT/Apache-2.0"
Expand Down
4 changes: 2 additions & 2 deletions wasmi_v1/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "wasmi"
version = "0.14.0"
version = "0.15.0"
edition = "2021"
authors = ["Parity Technologies <[email protected]>", "Robin Freyler <[email protected]>"]
license = "MIT/Apache-2.0"
Expand All @@ -13,7 +13,7 @@ exclude = [ "tests/*", "benches/*" ]

[dependencies]
wasmparser = { version = "0.83", package = "wasmparser-nostd", default-features = false }
wasmi_core = { version = "0.2", path = "../core", default-features = false }
wasmi_core = { version = "0.3", path = "../core", default-features = false }
spin = { version = "0.9", default-features = false, features = ["mutex", "spin_mutex"] }

[dev-dependencies]
Expand Down

0 comments on commit 944a88a

Please sign in to comment.