Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
208 changes: 111 additions & 97 deletions Cargo.lock

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -33,17 +33,17 @@ wasmtime-wasi = { path = "crates/wasi", version = "0.22.0" }
wasmtime-wasi-nn = { path = "crates/wasi-nn", version = "0.22.0", optional = true }
wasi-common = { path = "crates/wasi-common", version = "0.22.0" }
structopt = { version = "0.3.5", features = ["color", "suggestions"] }
object = { version = "0.22.0", default-features = false, features = ["write"] }
object = { version = "0.23.0", default-features = false, features = ["write"] }
anyhow = "1.0.19"
target-lexicon = { version = "0.11.0", default-features = false }
pretty_env_logger = "0.4.0"
file-per-thread-logger = "0.1.1"
wat = "1.0.32"
wat = "1.0.33"
libc = "0.2.60"
log = "0.4.8"
rayon = "1.2.1"
humantime = "2.0.0"
wasmparser = "0.72.0"
wasmparser = "0.73.0"

[dev-dependencies]
env_logger = "0.8.1"
Expand Down
7 changes: 5 additions & 2 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -243,9 +243,12 @@ fn ignore(testsuite: &str, testname: &str, strategy: &str) -> bool {
return env::var("CARGO_CFG_TARGET_ARCH").unwrap() != "x86_64";
}

// Waiting for an update to the spec testsuite to not use old
// instruction names.
("simd", "simd_boolean") | ("simd", "simd_lane") => return true,

// These are only implemented on aarch64 and x64.
("simd", "simd_boolean")
| ("simd", "simd_f32x4_pmin_pmax")
("simd", "simd_f32x4_pmin_pmax")
| ("simd", "simd_f64x2_pmin_pmax")
| ("simd", "simd_f32x4_rounding")
| ("simd", "simd_f64x2_rounding")
Expand Down
2 changes: 1 addition & 1 deletion cranelift/codegen/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ peepmatic-traits = { path = "../peepmatic/crates/traits", optional = true, versi
peepmatic-runtime = { path = "../peepmatic/crates/runtime", optional = true, version = "0.69.0" }
regalloc = { version = "0.0.31" }
souper-ir = { version = "2.1.0", optional = true }
wast = { version = "31.0.0", optional = true }
wast = { version = "32.0.0", optional = true }
# It is a goal of the cranelift-codegen crate to have minimal external dependencies.
# Please don't add any unless they are essential to the task of creating binary
# machine code. Integration tests that need external dependencies can be
Expand Down
2 changes: 1 addition & 1 deletion cranelift/object/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ edition = "2018"
[dependencies]
cranelift-module = { path = "../module", version = "0.69.0" }
cranelift-codegen = { path = "../codegen", version = "0.69.0", default-features = false, features = ["std"] }
object = { version = "0.22.0", default-features = false, features = ["write"] }
object = { version = "0.23.0", default-features = false, features = ["write"] }
target-lexicon = "0.11"
anyhow = "1.0"
log = { version = "0.4.6", default-features = false }
Expand Down
2 changes: 1 addition & 1 deletion cranelift/peepmatic/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ peepmatic-macro = { version = "0.69.0", path = "crates/macro" }
peepmatic-runtime = { version = "0.69.0", path = "crates/runtime", features = ["construct"] }
peepmatic-traits = { version = "0.69.0", path = "crates/traits" }
serde = { version = "1.0.105", features = ["derive"] }
wast = "31.0.0"
wast = "32.0.0"
z3 = { version = "0.7.1", features = ["static-link-z3"] }

[dev-dependencies]
Expand Down
4 changes: 2 additions & 2 deletions cranelift/peepmatic/crates/fuzzing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,6 @@ peepmatic-runtime = { path = "../runtime", features = ["construct"] }
peepmatic-test = { path = "../test" }
peepmatic-test-operator = { path = "../test-operator" }
peepmatic-traits = { path = "../traits" }
rand = { version = "0.7.3", features = ["small_rng"] }
rand = { version = "0.8.2", features = ["small_rng"] }
serde = "1.0.106"
wast = "31.0.0"
wast = "32.0.0"
2 changes: 1 addition & 1 deletion cranelift/peepmatic/crates/runtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ peepmatic-automata = { version = "0.69.0", path = "../automata", features = ["se
peepmatic-traits = { version = "0.69.0", path = "../traits" }
serde = { version = "1.0.105", features = ["derive"] }
thiserror = "1.0.15"
wast = { version = "31.0.0", optional = true }
wast = { version = "32.0.0", optional = true }

[dev-dependencies]
peepmatic-test-operator = { version = "0.69.0", path = "../test-operator" }
Expand Down
2 changes: 1 addition & 1 deletion cranelift/peepmatic/crates/souper/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ log = "0.4.8"
[dev-dependencies]
peepmatic = { path = "../..", version = "0.69.0" }
peepmatic-test-operator = { version = "0.69.0", path = "../test-operator" }
wast = "31.0.0"
wast = "32.0.0"
2 changes: 1 addition & 1 deletion cranelift/peepmatic/crates/test-operator/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ edition = "2018"
[dependencies]
peepmatic-traits = { version = "0.69.0", path = "../traits" }
serde = { version = "1.0.105", features = ["derive"] }
wast = "31.0.0"
wast = "32.0.0"
4 changes: 2 additions & 2 deletions cranelift/wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ keywords = ["webassembly", "wasm"]
edition = "2018"

[dependencies]
wasmparser = { version = "0.72", default-features = false }
wasmparser = { version = "0.73", default-features = false }
cranelift-codegen = { path = "../codegen", version = "0.69.0", default-features = false }
cranelift-entity = { path = "../entity", version = "0.69.0" }
cranelift-frontend = { path = "../frontend", version = "0.69.0", default-features = false }
hashbrown = { version = "0.9.1", optional = true }
itertools = "0.9.0"
itertools = "0.10.0"
log = { version = "0.4.6", default-features = false }
serde = { version = "1.0.94", features = ["derive"], optional = true }
smallvec = "1.6.1"
Expand Down
21 changes: 16 additions & 5 deletions cranelift/wasm/src/code_translator.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1626,7 +1626,7 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
// operands must match (hence the bitcast).
state.push1(builder.ins().bitselect(bitcast_c, bitcast_a, bitcast_b))
}
Operator::I8x16AnyTrue | Operator::I16x8AnyTrue | Operator::I32x4AnyTrue => {
Operator::V128AnyTrue => {
let a = pop1_with_bitcast(state, type_of(op), builder);
let bool_result = builder.ins().vany_true(a);
state.push1(builder.ins().bint(I32, bool_result))
Expand Down Expand Up @@ -1824,7 +1824,21 @@ pub fn translate_operator<FE: FuncEnvironment + ?Sized>(
let (a, b) = pop2_with_bitcast(state, I16X8, builder);
state.push1(builder.ins().widening_pairwise_dot_product_s(a, b));
}
Operator::I16x8ExtMulLowI8x16S
Operator::I64x2Bitmask
| Operator::I64x2WidenLowI32x4S
| Operator::I64x2WidenHighI32x4S
| Operator::I64x2WidenLowI32x4U
| Operator::I64x2WidenHighI32x4U
| Operator::V128Load8Lane { .. }
| Operator::V128Load16Lane { .. }
| Operator::V128Load32Lane { .. }
| Operator::V128Load64Lane { .. }
| Operator::V128Store8Lane { .. }
| Operator::V128Store16Lane { .. }
| Operator::V128Store32Lane { .. }
| Operator::V128Store64Lane { .. }
| Operator::I16x8Q15MulrSatS
| Operator::I16x8ExtMulLowI8x16S
| Operator::I16x8ExtMulHighI8x16S
| Operator::I16x8ExtMulLowI8x16U
| Operator::I16x8ExtMulHighI8x16U
Expand Down Expand Up @@ -2522,7 +2536,6 @@ fn type_of(operator: &Operator) -> Type {
| Operator::I8x16GeU
| Operator::I8x16Neg
| Operator::I8x16Abs
| Operator::I8x16AnyTrue
| Operator::I8x16AllTrue
| Operator::I8x16Shl
| Operator::I8x16ShrS
Expand Down Expand Up @@ -2557,7 +2570,6 @@ fn type_of(operator: &Operator) -> Type {
| Operator::I16x8GeU
| Operator::I16x8Neg
| Operator::I16x8Abs
| Operator::I16x8AnyTrue
| Operator::I16x8AllTrue
| Operator::I16x8Shl
| Operator::I16x8ShrS
Expand Down Expand Up @@ -2592,7 +2604,6 @@ fn type_of(operator: &Operator) -> Type {
| Operator::I32x4GeU
| Operator::I32x4Neg
| Operator::I32x4Abs
| Operator::I32x4AnyTrue
| Operator::I32x4AllTrue
| Operator::I32x4Shl
| Operator::I32x4ShrS
Expand Down
4 changes: 2 additions & 2 deletions crates/debug/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ edition = "2018"

[dependencies]
gimli = "0.23.0"
wasmparser = "0.72"
object = { version = "0.22.0", default-features = false, features = ["read_core", "elf", "write"] }
wasmparser = "0.73"
object = { version = "0.23.0", default-features = false, features = ["read_core", "elf", "write"] }
wasmtime-environ = { path = "../environ", version = "0.22.0" }
target-lexicon = { version = "0.11.0", default-features = false }
anyhow = "1.0"
Expand Down
2 changes: 1 addition & 1 deletion crates/environ/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ anyhow = "1.0"
cranelift-codegen = { path = "../../cranelift/codegen", version = "0.69.0", features = ["enable-serde"] }
cranelift-entity = { path = "../../cranelift/entity", version = "0.69.0", features = ["enable-serde"] }
cranelift-wasm = { path = "../../cranelift/wasm", version = "0.69.0", features = ["enable-serde"] }
wasmparser = "0.72"
wasmparser = "0.73"
indexmap = { version = "1.0.2", features = ["serde-1"] }
thiserror = "1.0.4"
serde = { version = "1.0.94", features = ["derive"] }
Expand Down
4 changes: 2 additions & 2 deletions crates/fuzzing/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ arbitrary = { version = "0.4.1", features = ["derive"] }
env_logger = "0.8.1"
log = "0.4.8"
rayon = "1.2.1"
wasmparser = "0.72"
wasmprinter = "0.2.17"
wasmparser = "0.73"
wasmprinter = "0.2.20"
wasmtime = { path = "../wasmtime" }
wasmtime-wast = { path = "../wast" }
wasm-encoder = "0.4"
Expand Down
4 changes: 2 additions & 2 deletions crates/jit/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,13 @@ rayon = { version = "1.0", optional = true }
region = "2.1.0"
thiserror = "1.0.4"
target-lexicon = { version = "0.11.0", default-features = false }
wasmparser = "0.72"
wasmparser = "0.73"
more-asserts = "0.2.1"
anyhow = "1.0"
cfg-if = "1.0"
log = "0.4"
gimli = { version = "0.23.0", default-features = false, features = ["write"] }
object = { version = "0.22.0", default-features = false, features = ["write"] }
object = { version = "0.23.0", default-features = false, features = ["write"] }
serde = { version = "1.0.94", features = ["derive"] }
addr2line = { version = "0.14", default-features = false }

Expand Down
6 changes: 3 additions & 3 deletions crates/lightbeam/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,18 @@ derive_more = "0.99"
dynasm = "1.0.0"
dynasmrt = "1.0.0"
iter-enum = "0.2"
itertools = "0.9.0"
itertools = "0.10.0"
memoffset = "0.6.0"
more-asserts = "0.2.1"
smallvec = "1.6.1"
thiserror = "1.0.9"
typemap = "0.3"
wasmparser = "0.72"
wasmparser = "0.73"

[dev-dependencies]
lazy_static = "1.2"
wat = "1.0.23"
quickcheck = "0.9.0"
quickcheck = "1.0.0"
anyhow = "1.0"

[badges]
Expand Down
2 changes: 1 addition & 1 deletion crates/lightbeam/wasmtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ edition = "2018"

[dependencies]
lightbeam = { path = "..", version = "0.22.0" }
wasmparser = "0.72"
wasmparser = "0.73"
cranelift-codegen = { path = "../../../cranelift/codegen", version = "0.69.0" }
wasmtime-environ = { path = "../../environ", version = "0.22.0" }
2 changes: 1 addition & 1 deletion crates/obj/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ edition = "2018"
[dependencies]
anyhow = "1.0"
wasmtime-environ = { path = "../environ", version = "0.22.0" }
object = { version = "0.22.0", default-features = false, features = ["write"] }
object = { version = "0.23.0", default-features = false, features = ["write"] }
more-asserts = "0.2.1"
target-lexicon = { version = "0.11.0", default-features = false }
wasmtime-debug = { path = "../debug", version = "0.22.0" }
Expand Down
2 changes: 1 addition & 1 deletion crates/profiling/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ wasmtime-runtime = { path = "../runtime", version = "0.22.0" }
ittapi-rs = { version = "0.1.5", optional = true }

[dependencies.object]
version = "0.22.0"
version = "0.23.0"
optional = true
default-features = false
features = ['read_core', 'elf', 'std']
Expand Down
2 changes: 1 addition & 1 deletion crates/wasmtime/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ wasmtime-jit = { path = "../jit", version = "0.22.0" }
wasmtime-cache = { path = "../cache", version = "0.22.0", optional = true }
wasmtime-profiling = { path = "../profiling", version = "0.22.0" }
target-lexicon = { version = "0.11.0", default-features = false }
wasmparser = "0.72"
wasmparser = "0.73"
anyhow = "1.0.19"
region = "2.2.0"
libc = "0.2"
Expand Down
2 changes: 1 addition & 1 deletion crates/wast/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ edition = "2018"
[dependencies]
anyhow = "1.0.19"
wasmtime = { path = "../wasmtime", version = "0.22.0", default-features = false }
wast = "31.0.0"
wast = "32.0.0"

[badges]
maintenance = { status = "actively-developed" }
4 changes: 4 additions & 0 deletions deny.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,8 @@ skip = [
{ name = "humantime" }, # caused by env_logger
{ name = "getrandom" }, # rand not updates to 0.2 yet
{ name = "wast" }, # old one pulled in by witx
{ name = "rand" }, # 0.7 pulled in by transitive deps
{ name = "rand_core" }, # 0.7 pulled in by transitive deps
{ name = "rand_chacha" }, # 0.7 pulled in by transitive deps
{ name = "itertools" }, # 0.9 pulled in by zstd-sys
]
24 changes: 12 additions & 12 deletions tests/misc_testsuite/multi-memory/simple.wast
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,20 @@
(func (export "store1") (param i32 i64)
local.get 0
local.get 1
i64.store $m1)
i64.store (memory $m1))

(func (export "store2") (param i32 i64)
local.get 0
local.get 1
i64.store $m2)
i64.store (memory $m2))

(func (export "load1") (param i32) (result i64)
local.get 0
i64.load $m1)
i64.load (memory $m1))

(func (export "load2") (param i32) (result i64)
local.get 0
i64.load $m2)
i64.load (memory $m2))
)

(invoke "store1" (i32.const 0) (i64.const 1))
Expand Down Expand Up @@ -64,20 +64,20 @@
(func (export "store1") (param i32 i64)
local.get 0
local.get 1
i64.store $m1)
i64.store (memory $m1))

(func (export "store2") (param i32 i64)
local.get 0
local.get 1
i64.store $m2)
i64.store (memory $m2))

(func (export "load1") (param i32) (result i64)
local.get 0
i64.load $m1)
i64.load (memory $m1))

(func (export "load2") (param i32) (result i64)
local.get 0
i64.load $m2)
i64.load (memory $m2))
)

(invoke "store1" (i32.const 0) (i64.const 1))
Expand All @@ -92,11 +92,11 @@

(func (export "grow1") (param i32) (result i32)
local.get 0
memory.grow $m1)
memory.grow (memory $m1))

(func (export "grow2") (param i32) (result i32)
local.get 0
memory.grow $m2)
memory.grow (memory $m2))

(func (export "size1") (result i32) memory.size $m1)
(func (export "size2") (result i32) memory.size $m2)
Expand Down Expand Up @@ -128,7 +128,7 @@
i32.const 4
memory.init $d $m2
i32.const 1
i32.load $m2)
i32.load (memory $m2))

(data $d "\01\00\00\00" "\02\00\00\00")
)
Expand All @@ -154,7 +154,7 @@
i32.const 2
memory.fill $m2
i32.const 1
i32.load $m2)
i32.load (memory $m2))
)

(assert_return (invoke "fill1") (i32.const 0x01010101))
Expand Down