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'))
build_script:
- git submodule update --init
- cargo build --release --verbose
- git submodule init
- git submodule update
# Cache wapm cli target in dir above to prevent breaking git submodule on windows
- if not exist wapm-cli-target mkdir wapm-cli-target
- 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.
## **[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
- [#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~

120
Cargo.lock generated
View File

@ -1389,7 +1389,7 @@ dependencies = [
[[package]]
name = "wasmer"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1398,23 +1398,23 @@ dependencies = [
"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)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4",
"wasmer-dev-utils 0.5.4",
"wasmer-emscripten 0.5.4",
"wasmer-emscripten-tests 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.5",
"wasmer-emscripten 0.5.5",
"wasmer-emscripten-tests 0.5.5",
"wasmer-kernel-loader 0.1.0",
"wasmer-llvm-backend 0.5.4",
"wasmer-middleware-common 0.5.4",
"wasmer-runtime 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-wasi 0.5.4",
"wasmer-wasi-tests 0.5.4",
"wasmer-llvm-backend 0.5.5",
"wasmer-middleware-common 0.5.5",
"wasmer-runtime 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
"wasmer-wasi 0.5.5",
"wasmer-wasi-tests 0.5.5",
]
[[package]]
name = "wasmer-clif-backend"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1431,8 +1431,8 @@ dependencies = [
"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-wasm 0.31.0 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-runtime-core 0.5.4",
"wasmer-win-exception-handler 0.5.4",
"wasmer-runtime-core 0.5.5",
"wasmer-win-exception-handler 0.5.5",
"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)",
]
@ -1463,14 +1463,14 @@ dependencies = [
[[package]]
name = "wasmer-dev-utils"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"libc 0.2.57 (registry+https://github.com/rust-lang/crates.io-index)",
]
[[package]]
name = "wasmer-emscripten"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1478,21 +1478,21 @@ dependencies = [
"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)",
"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]]
name = "wasmer-emscripten-tests"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
"wasmer-clif-backend 0.5.4",
"wasmer-dev-utils 0.5.4",
"wasmer-emscripten 0.5.4",
"wasmer-llvm-backend 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.5",
"wasmer-emscripten 0.5.5",
"wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
]
[[package]]
@ -1500,12 +1500,12 @@ name = "wasmer-kernel-loader"
version = "0.1.0"
dependencies = [
"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]]
name = "wasmer-llvm-backend"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1520,50 +1520,50 @@ dependencies = [
"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)",
"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)",
]
[[package]]
name = "wasmer-middleware-common"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
"wasmer-clif-backend 0.5.4",
"wasmer-llvm-backend 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
]
[[package]]
name = "wasmer-runtime"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
"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)",
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4",
"wasmer-llvm-backend 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
]
[[package]]
name = "wasmer-runtime-c-api"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
"wasmer-runtime 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-runtime 0.5.5",
"wasmer-runtime-core 0.5.5",
]
[[package]]
name = "wasmer-runtime-core"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1592,7 +1592,7 @@ dependencies = [
[[package]]
name = "wasmer-singlepass-backend"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1603,24 +1603,24 @@ dependencies = [
"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)",
"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)",
]
[[package]]
name = "wasmer-spectests"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"wabt 0.7.4 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4",
"wasmer-llvm-backend 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
]
[[package]]
name = "wasmer-wasi"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
@ -1628,32 +1628,32 @@ dependencies = [
"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)",
"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)",
]
[[package]]
name = "wasmer-wasi-tests"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"glob 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)",
"wasmer-clif-backend 0.5.4",
"wasmer-dev-utils 0.5.4",
"wasmer-llvm-backend 0.5.4",
"wasmer-runtime-core 0.5.4",
"wasmer-singlepass-backend 0.5.4",
"wasmer-wasi 0.5.4",
"wasmer-clif-backend 0.5.5",
"wasmer-dev-utils 0.5.5",
"wasmer-llvm-backend 0.5.5",
"wasmer-runtime-core 0.5.5",
"wasmer-singlepass-backend 0.5.5",
"wasmer-wasi 0.5.5",
]
[[package]]
name = "wasmer-win-exception-handler"
version = "0.5.4"
version = "0.5.5"
dependencies = [
"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)",
"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)",
"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)",
]

View File

@ -1,6 +1,6 @@
[package]
name = "wasmer"
version = "0.5.4"
version = "0.5.5"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
edition = "2018"
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"]
# This feature will allow cargo test to run much faster
fast-tests = []
"backend:llvm" = ["wasmer-llvm-backend", "wasmer-runtime-core/backend:llvm"]
"backend:singlepass" = ["wasmer-singlepass-backend", "wasmer-runtime-core/backend:singlepass"]
"backend-llvm" = ["wasmer-llvm-backend", "wasmer-runtime-core/backend-llvm"]
"backend-singlepass" = ["wasmer-singlepass-backend", "wasmer-runtime-core/backend-singlepass"]
wasi = ["wasmer-wasi"]
# vfs = ["wasmer-runtime-abi"]

View File

@ -112,13 +112,13 @@ lint:
precommit: lint test
debug:
cargo build --release --features backend:singlepass,debug,trace
cargo build --release --features backend-singlepass,debug,trace
install:
cargo install --path .
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)
release-fast:
@ -127,10 +127,10 @@ release-fast:
cargo build --release
release-singlepass:
cargo build --release --features backend:singlepass
cargo build --release --features backend-singlepass
release-llvm:
cargo build --release --features backend:llvm
cargo build --release --features backend-llvm
bench:
cargo bench --all

View File

@ -1,6 +1,6 @@
[package]
name = "wasmer-clif-backend"
version = "0.5.4"
version = "0.5.5"
description = "Wasmer runtime Cranelift compiler backend"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018"
[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-codegen = { version = "0.31" }
cranelift-entity = { version = "0.31" }
@ -34,7 +34,7 @@ version = "0.0.7"
[target.'cfg(windows)'.dependencies]
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]
debug = ["wasmer-runtime-core/debug"]

View File

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

View File

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

View File

@ -1,6 +1,6 @@
[package]
name = "wasmer-emscripten"
version = "0.5.4"
version = "0.5.5"
description = "Wasmer runtime emscripten implementation library"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -13,7 +13,7 @@ hashbrown = "0.1"
lazy_static = "1.2.0"
libc = "0.2.49"
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]
rand = "0.6"

View File

@ -1,11 +1,11 @@
[package]
name = "wasmer-llvm-backend"
version = "0.5.4"
version = "0.5.5"
authors = ["Lachlan Sneff <lachlan.sneff@gmail.com>"]
edition = "2018"
[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" }
wasmparser = "0.32.1"
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 float_ty = value.get_type();
let (int_ty, float_ptr_ty, float_size) = if float_ty == intrinsics.f32_ty {
(intrinsics.i32_ty, intrinsics.f32_ptr_ty, FloatSize::Bits32)
let (int_ty, float_size) = if float_ty == intrinsics.f32_ty {
(intrinsics.i32_ty, FloatSize::Bits32)
} else if float_ty == intrinsics.f64_ty {
(intrinsics.i64_ty, intrinsics.f64_ptr_ty, FloatSize::Bits64)
(intrinsics.i64_ty, FloatSize::Bits64)
} else {
unreachable!()
};
let (exponent, invalid_exponent) = {
let float_bits = {
let space = builder.build_alloca(int_ty, "space");
let float_ptr = builder.build_pointer_cast(space, float_ptr_ty, "float_ptr");
builder.build_store(float_ptr, value);
builder.build_load(space, "float_bits").into_int_value()
};
let float_bits = builder
.build_bitcast(value, int_ty, "float_bits")
.into_int_value();
let (shift_amount, exponent_mask, invalid_exponent) = match float_size {
FloatSize::Bits32 => (23, 0b01111111100000000000000000000000, 0b11111111),
FloatSize::Bits64 => (
@ -1904,43 +1900,23 @@ impl FunctionCodeGenerator<CodegenError> for LLVMFunctionCodeGenerator {
}
Operator::I32ReinterpretF32 => {
let v = state.pop1()?;
let space =
builder.build_alloca(intrinsics.i32_ty.as_basic_type_enum(), &state.var_name());
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);
let ret = builder.build_bitcast(v, intrinsics.i32_ty, &state.var_name());
state.push1(ret);
}
Operator::I64ReinterpretF64 => {
let v = state.pop1()?;
let space =
builder.build_alloca(intrinsics.i64_ty.as_basic_type_enum(), &state.var_name());
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);
let ret = builder.build_bitcast(v, intrinsics.i64_ty, &state.var_name());
state.push1(ret);
}
Operator::F32ReinterpretI32 => {
let v = state.pop1()?;
let space =
builder.build_alloca(intrinsics.f32_ty.as_basic_type_enum(), &state.var_name());
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);
let ret = builder.build_bitcast(v, intrinsics.f32_ty, &state.var_name());
state.push1(ret);
}
Operator::F64ReinterpretI64 => {
let v = state.pop1()?;
let space =
builder.build_alloca(intrinsics.f64_ty.as_basic_type_enum(), &state.var_name());
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);
let ret = builder.build_bitcast(v, intrinsics.f64_ty, &state.var_name());
state.push1(ret);
}
/***************************

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,6 +1,6 @@
[package]
name = "wasmer-wasi"
version = "0.5.4"
version = "0.5.5"
description = "Wasmer runtime WASI implementation library"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018"
[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"
rand = "0.6.5"
# wasmer-runtime-abi = { path = "../runtime-abi" }

View File

@ -1,6 +1,6 @@
[package]
name = "wasmer-win-exception-handler"
version = "0.5.4"
version = "0.5.5"
description = "Wasmer runtime exception handling for Windows"
license = "MIT"
authors = ["The Wasmer Engineering Team <engineering@wasmer.io>"]
@ -8,7 +8,7 @@ repository = "https://github.com/wasmerio/wasmer"
edition = "2018"
[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"] }
libc = "0.2.49"

View File

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

View File

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