543: update version numbers to 0.5.5 r=MarkMcCaskey a=MarkMcCaskey



544: Use bitcast instead of alloca+load+ptrcast+store sequence. r=MarkMcCaskey a=nlewycky



Co-authored-by: Mark McCaskey <mark@wasmer.io>
Co-authored-by: Mark McCaskey <markmccaskey@users.noreply.github.com>
Co-authored-by: Nick Lewycky <nick@wasmer.io>
Co-authored-by: nlewycky <nick@wasmer.io>
This commit is contained in:
bors[bot] 2019-07-11 00:51:31 +00:00
commit 0c4a8f77d2
24 changed files with 151 additions and 172 deletions

View File

@ -49,8 +49,9 @@ install:
# - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1'))
build_script: build_script:
- git submodule update --init
- cargo build --release --verbose - cargo build --release --verbose
- git submodule init
- git submodule update
# Cache wapm cli target in dir above to prevent breaking git submodule on windows # Cache wapm cli target in dir above to prevent breaking git submodule on windows
- if not exist wapm-cli-target mkdir wapm-cli-target - if not exist wapm-cli-target mkdir wapm-cli-target
- move wapm-cli-target wapm-cli - move wapm-cli-target wapm-cli

View File

@ -5,6 +5,8 @@ All PRs to the Wasmer repository must add to this file.
Blocks of changes will separated by version increments. Blocks of changes will separated by version increments.
## **[Unreleased]** ## **[Unreleased]**
## 0.5.5
- [#541](https://github.com/wasmerio/wasmer/pull/541) Fix dependency graph by making separate test crates; ABI implementations should not depend on compilers. Add Cranelift fork as git submodule of clif-backend - [#541](https://github.com/wasmerio/wasmer/pull/541) Fix dependency graph by making separate test crates; ABI implementations should not depend on compilers. Add Cranelift fork as git submodule of clif-backend
- [#537](https://github.com/wasmerio/wasmer/pull/537) Add hidden flag (`--cache-key`) to use prehashed key into the compiled wasm cache and change compiler backend-specific caching to use directories - [#537](https://github.com/wasmerio/wasmer/pull/537) Add hidden flag (`--cache-key`) to use prehashed key into the compiled wasm cache and change compiler backend-specific caching to use directories
- [#536](https://github.com/wasmerio/wasmer/pull/536) ~Update cache to use compiler backend name in cache key~ - [#536](https://github.com/wasmerio/wasmer/pull/536) ~Update cache to use compiler backend name in cache key~

120
Cargo.lock generated
View File

@ -1389,7 +1389,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer" name = "wasmer"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)", "errno 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1398,23 +1398,23 @@ dependencies = [
"rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", "rustc_version 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)",
"structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)", "structopt 0.2.17 (registry+https://github.com/rust-lang/crates.io-index)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.4", "wasmer-dev-utils 0.5.5",
"wasmer-emscripten 0.5.4", "wasmer-emscripten 0.5.5",
"wasmer-emscripten-tests 0.5.4", "wasmer-emscripten-tests 0.5.5",
"wasmer-kernel-loader 0.1.0", "wasmer-kernel-loader 0.1.0",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-middleware-common 0.5.4", "wasmer-middleware-common 0.5.5",
"wasmer-runtime 0.5.4", "wasmer-runtime 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
"wasmer-wasi 0.5.4", "wasmer-wasi 0.5.5",
"wasmer-wasi-tests 0.5.4", "wasmer-wasi-tests 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-clif-backend" name = "wasmer-clif-backend"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"cranelift-codegen 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", "cranelift-codegen 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1431,8 +1431,8 @@ dependencies = [
"target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "target-lexicon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-fork-frontend 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-clif-fork-frontend 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-fork-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)", "wasmer-clif-fork-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-win-exception-handler 0.5.4", "wasmer-win-exception-handler 0.5.5",
"wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)",
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
@ -1463,14 +1463,14 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-dev-utils" name = "wasmer-dev-utils"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasmer-emscripten" name = "wasmer-emscripten"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)", "hashbrown 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1478,21 +1478,21 @@ dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)", "time 0.1.42 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-emscripten-tests" name = "wasmer-emscripten-tests"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.4", "wasmer-dev-utils 0.5.5",
"wasmer-emscripten 0.5.4", "wasmer-emscripten 0.5.5",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
] ]
[[package]] [[package]]
@ -1500,12 +1500,12 @@ name = "wasmer-kernel-loader"
version = "0.1.0" version = "0.1.0"
dependencies = [ dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-llvm-backend" name = "wasmer-llvm-backend"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "capstone 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)", "cc 1.0.37 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1520,50 +1520,50 @@ dependencies = [
"semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "semver 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasmer-middleware-common" name = "wasmer-middleware-common"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-runtime" name = "wasmer-runtime"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "criterion 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)", "lazy_static 1.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", "memmap 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"tempfile 3.0.8 (registry+https://github.com/rust-lang/crates.io-index)", "tempfile 3.0.8 (registry+https://github.com/rust-lang/crates.io-index)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-runtime-c-api" name = "wasmer-runtime-c-api"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"cbindgen 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)", "cbindgen 0.8.7 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime 0.5.4", "wasmer-runtime 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-runtime-core" name = "wasmer-runtime-core"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)", "bincode 1.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"blake2b_simd 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", "blake2b_simd 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1592,7 +1592,7 @@ dependencies = [
[[package]] [[package]]
name = "wasmer-singlepass-backend" name = "wasmer-singlepass-backend"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)", "colored 1.8.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1603,24 +1603,24 @@ dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)", "nix 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)", "smallvec 0.6.9 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)", "wasmparser 0.32.1 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasmer-spectests" name = "wasmer-spectests"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)", "wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-wasi" name = "wasmer-wasi"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "byteorder 1.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"generational-arena 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)", "generational-arena 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1628,32 +1628,32 @@ dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)", "rand 0.6.5 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
] ]
[[package]] [[package]]
name = "wasmer-wasi-tests" name = "wasmer-wasi-tests"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4", "wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.4", "wasmer-dev-utils 0.5.5",
"wasmer-llvm-backend 0.5.4", "wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.4", "wasmer-singlepass-backend 0.5.5",
"wasmer-wasi 0.5.4", "wasmer-wasi 0.5.5",
] ]
[[package]] [[package]]
name = "wasmer-win-exception-handler" name = "wasmer-win-exception-handler"
version = "0.5.4" version = "0.5.5"
dependencies = [ dependencies = [
"bindgen 0.46.0 (registry+https://github.com/rust-lang/crates.io-index)", "bindgen 0.46.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)", "cmake 0.1.40 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)", "libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "regex 1.1.6 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4", "wasmer-runtime-core 0.5.5",
"winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)", "winapi 0.3.7 (registry+https://github.com/rust-lang/crates.io-index)",
] ]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer" name = "wasmer"
version = "0.5.4" version = "0.5.5"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
edition = "2018" edition = "2018"
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
@ -73,8 +73,8 @@ trace = ["wasmer-runtime-core/trace"]
extra-debug = ["wasmer-clif-backend/debug", "wasmer-runtime-core/debug"] extra-debug = ["wasmer-clif-backend/debug", "wasmer-runtime-core/debug"]
# This feature will allow cargo test to run much faster # This feature will allow cargo test to run much faster
fast-tests = [] fast-tests = []
"backend:llvm" = ["wasmer-llvm-backend", "wasmer-runtime-core/backend:llvm"] "backend-llvm" = ["wasmer-llvm-backend", "wasmer-runtime-core/backend-llvm"]
"backend:singlepass" = ["wasmer-singlepass-backend", "wasmer-runtime-core/backend:singlepass"] "backend-singlepass" = ["wasmer-singlepass-backend", "wasmer-runtime-core/backend-singlepass"]
wasi = ["wasmer-wasi"] wasi = ["wasmer-wasi"]
# vfs = ["wasmer-runtime-abi"] # vfs = ["wasmer-runtime-abi"]

View File

@ -112,13 +112,13 @@ lint:
precommit: lint test precommit: lint test
debug: debug:
cargo build --release --features backend:singlepass,debug,trace cargo build --release --features backend-singlepass,debug,trace
install: install:
cargo install --path . cargo install --path .
release: release:
cargo build --release --features backend:singlepass,backend:llvm,loader:kernel cargo build --release --features backend-singlepass,backend-llvm,loader:kernel
# Only one backend (cranelift) # Only one backend (cranelift)
release-fast: release-fast:
@ -127,10 +127,10 @@ release-fast:
cargo build --release cargo build --release
release-singlepass: release-singlepass:
cargo build --release --features backend:singlepass cargo build --release --features backend-singlepass
release-llvm: release-llvm:
cargo build --release --features backend:llvm cargo build --release --features backend-llvm
bench: bench:
cargo bench --all cargo bench --all

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-clif-backend" name = "wasmer-clif-backend"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime Cranelift compiler backend" description = "Wasmer runtime Cranelift compiler backend"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
cranelift-native = { version = "0.31" } cranelift-native = { version = "0.31" }
cranelift-codegen = { version = "0.31" } cranelift-codegen = { version = "0.31" }
cranelift-entity = { version = "0.31" } cranelift-entity = { version = "0.31" }
@ -34,7 +34,7 @@ version = "0.0.7"
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["errhandlingapi", "minwindef", "minwinbase", "winnt"] } winapi = { version = "0.3", features = ["errhandlingapi", "minwindef", "minwinbase", "winnt"] }
wasmer-win-exception-handler = { path = "../win-exception-handler", version = "0.5.4" } wasmer-win-exception-handler = { path = "../win-exception-handler", version = "0.5.5" }
[features] [features]
debug = ["wasmer-runtime-core/debug"] debug = ["wasmer-runtime-core/debug"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-dev-utils" name = "wasmer-dev-utils"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime core library" description = "Wasmer runtime core library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-emscripten-tests" name = "wasmer-emscripten-tests"
version = "0.5.4" version = "0.5.5"
description = "Tests for our Emscripten implementation" description = "Tests for our Emscripten implementation"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -9,15 +9,15 @@ publish = false
build = "build/mod.rs" build = "build/mod.rs"
[dependencies] [dependencies]
wasmer-emscripten = { path = "../emscripten", version = "0.5.4" } wasmer-emscripten = { path = "../emscripten", version = "0.5.5" }
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
wasmer-clif-backend = { path = "../clif-backend", version = "0.5.4" } wasmer-clif-backend = { path = "../clif-backend", version = "0.5.5" }
wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.4", optional = true } wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.5", optional = true }
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.4", optional = true } wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.5", optional = true }
[dev-dependencies] [dev-dependencies]
wabt = "0.7.2" wabt = "0.7.2"
wasmer-dev-utils = { path = "../dev-utils", version = "0.5.4"} wasmer-dev-utils = { path = "../dev-utils", version = "0.5.5"}
[build-dependencies] [build-dependencies]
glob = "0.2.11" glob = "0.2.11"
@ -25,4 +25,4 @@ glob = "0.2.11"
[features] [features]
clif = [] clif = []
llvm = ["wasmer-llvm-backend"] llvm = ["wasmer-llvm-backend"]
singlepass = ["wasmer-singlepass-backend"] singlepass = ["wasmer-singlepass-backend"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-emscripten" name = "wasmer-emscripten"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime emscripten implementation library" description = "Wasmer runtime emscripten implementation library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -13,10 +13,10 @@ hashbrown = "0.1"
lazy_static = "1.2.0" lazy_static = "1.2.0"
libc = "0.2.49" libc = "0.2.49"
time = "0.1.41" time = "0.1.41"
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
rand = "0.6" rand = "0.6"
[features] [features]
debug = ["wasmer-runtime-core/debug"] debug = ["wasmer-runtime-core/debug"]

View File

@ -1,11 +1,11 @@
[package] [package]
name = "wasmer-llvm-backend" name = "wasmer-llvm-backend"
version = "0.5.4" version = "0.5.5"
authors = ["Lachlan Sneff <lachlan.sneff@gmail.com>"] authors = ["Lachlan Sneff <lachlan.sneff@gmail.com>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
inkwell = { git = "https://github.com/wasmerio/inkwell", branch = "llvm7-0" } inkwell = { git = "https://github.com/wasmerio/inkwell", branch = "llvm7-0" }
wasmparser = "0.32.1" wasmparser = "0.32.1"
hashbrown = "0.1.8" hashbrown = "0.1.8"

View File

@ -78,22 +78,18 @@ fn trap_if_not_representatable_as_int(
let continue_block = context.append_basic_block(function, "conversion_success_block"); let continue_block = context.append_basic_block(function, "conversion_success_block");
let float_ty = value.get_type(); let float_ty = value.get_type();
let (int_ty, float_ptr_ty, float_size) = if float_ty == intrinsics.f32_ty { let (int_ty, float_size) = if float_ty == intrinsics.f32_ty {
(intrinsics.i32_ty, intrinsics.f32_ptr_ty, FloatSize::Bits32) (intrinsics.i32_ty, FloatSize::Bits32)
} else if float_ty == intrinsics.f64_ty { } else if float_ty == intrinsics.f64_ty {
(intrinsics.i64_ty, intrinsics.f64_ptr_ty, FloatSize::Bits64) (intrinsics.i64_ty, FloatSize::Bits64)
} else { } else {
unreachable!() unreachable!()
}; };
let (exponent, invalid_exponent) = { let (exponent, invalid_exponent) = {
let float_bits = { let float_bits = builder
let space = builder.build_alloca(int_ty, "space"); .build_bitcast(value, int_ty, "float_bits")
let float_ptr = builder.build_pointer_cast(space, float_ptr_ty, "float_ptr"); .into_int_value();
builder.build_store(float_ptr, value);
builder.build_load(space, "float_bits").into_int_value()
};
let (shift_amount, exponent_mask, invalid_exponent) = match float_size { let (shift_amount, exponent_mask, invalid_exponent) = match float_size {
FloatSize::Bits32 => (23, 0b01111111100000000000000000000000, 0b11111111), FloatSize::Bits32 => (23, 0b01111111100000000000000000000000, 0b11111111),
FloatSize::Bits64 => ( FloatSize::Bits64 => (
@ -1904,43 +1900,23 @@ impl FunctionCodeGenerator<CodegenError> for LLVMFunctionCodeGenerator {
} }
Operator::I32ReinterpretF32 => { Operator::I32ReinterpretF32 => {
let v = state.pop1()?; let v = state.pop1()?;
let space = let ret = builder.build_bitcast(v, intrinsics.i32_ty, &state.var_name());
builder.build_alloca(intrinsics.i32_ty.as_basic_type_enum(), &state.var_name()); state.push1(ret);
let f32_space =
builder.build_pointer_cast(space, intrinsics.f32_ptr_ty, &state.var_name());
builder.build_store(f32_space, v);
let int = builder.build_load(space, &state.var_name());
state.push1(int);
} }
Operator::I64ReinterpretF64 => { Operator::I64ReinterpretF64 => {
let v = state.pop1()?; let v = state.pop1()?;
let space = let ret = builder.build_bitcast(v, intrinsics.i64_ty, &state.var_name());
builder.build_alloca(intrinsics.i64_ty.as_basic_type_enum(), &state.var_name()); state.push1(ret);
let f64_space =
builder.build_pointer_cast(space, intrinsics.f64_ptr_ty, &state.var_name());
builder.build_store(f64_space, v);
let int = builder.build_load(space, &state.var_name());
state.push1(int);
} }
Operator::F32ReinterpretI32 => { Operator::F32ReinterpretI32 => {
let v = state.pop1()?; let v = state.pop1()?;
let space = let ret = builder.build_bitcast(v, intrinsics.f32_ty, &state.var_name());
builder.build_alloca(intrinsics.f32_ty.as_basic_type_enum(), &state.var_name()); state.push1(ret);
let i32_space =
builder.build_pointer_cast(space, intrinsics.i32_ptr_ty, &state.var_name());
builder.build_store(i32_space, v);
let f = builder.build_load(space, &state.var_name());
state.push1(f);
} }
Operator::F64ReinterpretI64 => { Operator::F64ReinterpretI64 => {
let v = state.pop1()?; let v = state.pop1()?;
let space = let ret = builder.build_bitcast(v, intrinsics.f64_ty, &state.var_name());
builder.build_alloca(intrinsics.f64_ty.as_basic_type_enum(), &state.var_name()); state.push1(ret);
let i64_space =
builder.build_pointer_cast(space, intrinsics.i64_ptr_ty, &state.var_name());
builder.build_store(i64_space, v);
let f = builder.build_load(space, &state.var_name());
state.push1(f);
} }
/*************************** /***************************

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-middleware-common" name = "wasmer-middleware-common"
version = "0.5.4" version = "0.5.5"
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
description = "Wasmer runtime common middlewares" description = "Wasmer runtime common middlewares"
license = "MIT" license = "MIT"
@ -9,9 +9,9 @@ edition = "2018"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core" } wasmer-runtime-core = { path = "../runtime-core" }
wasmer-clif-backend = { path = "../clif-backend", version = "0.5.4" } wasmer-clif-backend = { path = "../clif-backend", version = "0.5.5" }
wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.4", optional = true } wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.5", optional = true }
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.4", optional = true } wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.5", optional = true }
[dev-dependencies] [dev-dependencies]
wabt = "0.7.4" wabt = "0.7.4"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-runtime-abi" name = "wasmer-runtime-abi"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime core library" description = "Wasmer runtime core library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-runtime-c-api" name = "wasmer-runtime-c-api"
version = "0.5.4" version = "0.5.5"
description = "Wasmer C API library" description = "Wasmer C API library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -16,11 +16,11 @@ libc = "0.2"
[dependencies.wasmer-runtime] [dependencies.wasmer-runtime]
path = "../runtime" path = "../runtime"
version = "0.5.4" version = "0.5.5"
[dependencies.wasmer-runtime-core] [dependencies.wasmer-runtime-core]
path = "../runtime-core" path = "../runtime-core"
version = "0.5.4" version = "0.5.5"
[features] [features]
debug = ["wasmer-runtime/debug"] debug = ["wasmer-runtime/debug"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-runtime-core" name = "wasmer-runtime-core"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime core library" description = "Wasmer runtime core library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -55,5 +55,5 @@ cc = "1.0"
debug = [] debug = []
trace = ["debug"] trace = ["debug"]
# backend flags used in conditional compilation of Backend::variants # backend flags used in conditional compilation of Backend::variants
"backend:singlepass" = [] "backend-singlepass" = []
"backend:llvm" = [] "backend-llvm" = []

View File

@ -33,9 +33,9 @@ impl Backend {
pub fn variants() -> &'static [&'static str] { pub fn variants() -> &'static [&'static str] {
&[ &[
"cranelift", "cranelift",
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
"singlepass", "singlepass",
#[cfg(feature = "backend:llvm")] #[cfg(feature = "backend-llvm")]
"llvm", "llvm",
] ]
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-runtime" name = "wasmer-runtime"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime library" description = "Wasmer runtime library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -9,17 +9,17 @@ edition = "2018"
readme = "README.md" readme = "README.md"
[dependencies] [dependencies]
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.4", optional = true } wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.5", optional = true }
lazy_static = "1.2.0" lazy_static = "1.2.0"
memmap = "0.7.0" memmap = "0.7.0"
[dependencies.wasmer-runtime-core] [dependencies.wasmer-runtime-core]
path = "../runtime-core" path = "../runtime-core"
version = "0.5.4" version = "0.5.5"
[dependencies.wasmer-clif-backend] [dependencies.wasmer-clif-backend]
path = "../clif-backend" path = "../clif-backend"
version = "0.5.4" version = "0.5.5"
optional = true optional = true
[dev-dependencies] [dev-dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-singlepass-backend" name = "wasmer-singlepass-backend"
version = "0.5.4" version = "0.5.5"
repository = "https://github.com/wasmerio/wasmer" repository = "https://github.com/wasmerio/wasmer"
description = "Wasmer runtime single pass compiler backend" description = "Wasmer runtime single pass compiler backend"
license = "MIT" license = "MIT"
@ -8,7 +8,7 @@ authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
wasmparser = "0.32.1" wasmparser = "0.32.1"
dynasm = "0.3.2" dynasm = "0.3.2"
dynasmrt = "0.3.1" dynasmrt = "0.3.1"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-spectests" name = "wasmer-spectests"
version = "0.5.4" version = "0.5.5"
description = "Wasmer spectests library" description = "Wasmer spectests library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -9,10 +9,10 @@ edition = "2018"
build = "build/mod.rs" build = "build/mod.rs"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
wasmer-clif-backend = { path = "../clif-backend", version = "0.5.4" } wasmer-clif-backend = { path = "../clif-backend", version = "0.5.5" }
wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.4", optional = true } wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.5", optional = true }
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.4", optional = true } wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.5", optional = true }
[build-dependencies] [build-dependencies]
wabt = "0.7.2" wabt = "0.7.2"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi-tests" name = "wasmer-wasi-tests"
version = "0.5.4" version = "0.5.5"
description = "Tests for our WASI implementation" description = "Tests for our WASI implementation"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -9,19 +9,19 @@ publish = false
build = "build/mod.rs" build = "build/mod.rs"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
wasmer-wasi = { path = "../wasi", version = "0.5.4" } wasmer-wasi = { path = "../wasi", version = "0.5.5" }
# hack to get tests to work # hack to get tests to work
wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.4", optional = true } wasmer-singlepass-backend = { path = "../singlepass-backend", version = "0.5.5", optional = true }
wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.4", optional = true } wasmer-llvm-backend = { path = "../llvm-backend", version = "0.5.5", optional = true }
[build-dependencies] [build-dependencies]
glob = "0.2.11" glob = "0.2.11"
[dev-dependencies] [dev-dependencies]
wasmer-clif-backend = { path = "../clif-backend", version = "0.5.4" } wasmer-clif-backend = { path = "../clif-backend", version = "0.5.5" }
wasmer-dev-utils = { path = "../dev-utils", version = "0.5.4"} wasmer-dev-utils = { path = "../dev-utils", version = "0.5.5"}
[features] [features]
clif = [] clif = []

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-wasi" name = "wasmer-wasi"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime WASI implementation library" description = "Wasmer runtime WASI implementation library"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018" edition = "2018"
[dependencies] [dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
libc = "0.2.50" libc = "0.2.50"
rand = "0.6.5" rand = "0.6.5"
# wasmer-runtime-abi = { path = "../runtime-abi" } # wasmer-runtime-abi = { path = "../runtime-abi" }
@ -18,4 +18,4 @@ log = "0.4.6"
byteorder = "1.3.1" byteorder = "1.3.1"
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
winapi = "0.3" winapi = "0.3"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "wasmer-win-exception-handler" name = "wasmer-win-exception-handler"
version = "0.5.4" version = "0.5.5"
description = "Wasmer runtime exception handling for Windows" description = "Wasmer runtime exception handling for Windows"
license = "MIT" license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"] authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018" edition = "2018"
[target.'cfg(windows)'.dependencies] [target.'cfg(windows)'.dependencies]
wasmer-runtime-core = { path = "../runtime-core", version = "0.5.4" } wasmer-runtime-core = { path = "../runtime-core", version = "0.5.5" }
winapi = { version = "0.3", features = ["winbase", "errhandlingapi", "minwindef", "minwinbase", "winnt"] } winapi = { version = "0.3", features = ["winbase", "errhandlingapi", "minwindef", "minwinbase", "winnt"] }
libc = "0.2.49" libc = "0.2.49"

View File

@ -15,7 +15,7 @@ use structopt::StructOpt;
use wasmer::*; use wasmer::*;
use wasmer_clif_backend::CraneliftCompiler; use wasmer_clif_backend::CraneliftCompiler;
#[cfg(feature = "backend:llvm")] #[cfg(feature = "backend-llvm")]
use wasmer_llvm_backend::LLVMCompiler; use wasmer_llvm_backend::LLVMCompiler;
use wasmer_runtime::{ use wasmer_runtime::{
cache::{Cache as BaseCache, FileSystemCache, WasmHash, WASMER_VERSION_HASH}, cache::{Cache as BaseCache, FileSystemCache, WasmHash, WASMER_VERSION_HASH},
@ -27,7 +27,7 @@ use wasmer_runtime_core::{
debug, debug,
loader::{Instance as LoadedInstance, LocalLoader}, loader::{Instance as LoadedInstance, LocalLoader},
}; };
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
use wasmer_singlepass_backend::SinglePassCompiler; use wasmer_singlepass_backend::SinglePassCompiler;
#[cfg(feature = "wasi")] #[cfg(feature = "wasi")]
use wasmer_wasi; use wasmer_wasi;
@ -112,7 +112,7 @@ struct Run {
)] )]
loader: Option<LoaderName>, loader: Option<LoaderName>,
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
#[structopt(long = "resume")] #[structopt(long = "resume")]
resume: Option<String>, resume: Option<String>,
@ -315,14 +315,14 @@ fn execute_wasm(options: &Run) -> Result<(), String> {
} }
let compiler: Box<dyn Compiler> = match options.backend { let compiler: Box<dyn Compiler> = match options.backend {
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
Backend::Singlepass => Box::new(SinglePassCompiler::new()), Backend::Singlepass => Box::new(SinglePassCompiler::new()),
#[cfg(not(feature = "backend:singlepass"))] #[cfg(not(feature = "backend-singlepass"))]
Backend::Singlepass => return Err("The singlepass backend is not enabled".to_string()), Backend::Singlepass => return Err("The singlepass backend is not enabled".to_string()),
Backend::Cranelift => Box::new(CraneliftCompiler::new()), Backend::Cranelift => Box::new(CraneliftCompiler::new()),
#[cfg(feature = "backend:llvm")] #[cfg(feature = "backend-llvm")]
Backend::LLVM => Box::new(LLVMCompiler::new()), Backend::LLVM => Box::new(LLVMCompiler::new()),
#[cfg(not(feature = "backend:llvm"))] #[cfg(not(feature = "backend-llvm"))]
Backend::LLVM => return Err("the llvm backend is not enabled".to_string()), Backend::LLVM => return Err("the llvm backend is not enabled".to_string()),
}; };
@ -501,7 +501,7 @@ fn execute_wasm(options: &Run) -> Result<(), String> {
let start: Func<(), ()> = instance.func("_start").map_err(|e| format!("{:?}", e))?; let start: Func<(), ()> = instance.func("_start").map_err(|e| format!("{:?}", e))?;
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
unsafe { unsafe {
if options.backend == Backend::Singlepass { if options.backend == Backend::Singlepass {
use wasmer_runtime_core::fault::{catch_unsafe_unwind, ensure_sighandler}; use wasmer_runtime_core::fault::{catch_unsafe_unwind, ensure_sighandler};
@ -608,18 +608,18 @@ fn execute_wasm(options: &Run) -> Result<(), String> {
Ok(()) Ok(())
} }
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
struct InteractiveShellContext { struct InteractiveShellContext {
image: Option<wasmer_runtime_core::state::InstanceImage>, image: Option<wasmer_runtime_core::state::InstanceImage>,
} }
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
#[derive(Debug)] #[derive(Debug)]
enum ShellExitOperation { enum ShellExitOperation {
ContinueWith(wasmer_runtime_core::state::InstanceImage), ContinueWith(wasmer_runtime_core::state::InstanceImage),
} }
#[cfg(feature = "backend:singlepass")] #[cfg(feature = "backend-singlepass")]
fn interactive_shell(mut ctx: InteractiveShellContext) -> ShellExitOperation { fn interactive_shell(mut ctx: InteractiveShellContext) -> ShellExitOperation {
use std::io::Write; use std::io::Write;

View File

@ -1,5 +1,5 @@
PREVIOUS_VERSION='0.5.3' PREVIOUS_VERSION='0.5.4'
NEXT_VERSION='0.5.4' NEXT_VERSION='0.5.5'
# quick hack # quick hack
fd Cargo.toml --exec sed -i '' "s/version = \"$PREVIOUS_VERSION\"/version = \"$NEXT_VERSION\"/" fd Cargo.toml --exec sed -i '' "s/version = \"$PREVIOUS_VERSION\"/version = \"$NEXT_VERSION\"/"