Support for multi-value wasm (#399)
* deps: bump wasmparser to 0.39.2 This has a bug fix for multi-value Wasm validation that is required for getting the spec tests passing. https://github.com/yurydelendik/wasmparser.rs/pull/135 * Update cranelift to 0.46.1 to get multi-value Wasm support The `cranelift_wasm` APIs had to change a little bit to maintain state necessary when translating multi-value Wasm blocks. The `translate_module` function now returns a `ModuleTranslationState` that is borrowed during each function's translation. * Enable multi-value proposal's spec tests This enables all the Wasm multi-value proposal's spec tests other than the ones that rely on functions having more return values than registers available on the target. That is not supported by cranelift yet. * wasmtime-interface-types: always use multi-value Wasm And remove the return pointer hacks that work around the lack of multi-value.
This commit is contained in:
committed by
Dan Gohman
parent
9d54f84a32
commit
842faf5aa6
@@ -11,11 +11,11 @@ cargo-fuzz = true
|
||||
[dependencies]
|
||||
wasmtime-environ = { path = "../wasmtime-environ" }
|
||||
wasmtime-jit = { path = "../wasmtime-jit" }
|
||||
cranelift-codegen = { version = "0.44.0", features = ["enable-serde"] }
|
||||
cranelift-wasm = { version = "0.44.0", features = ["enable-serde"] }
|
||||
cranelift-native = "0.44.0"
|
||||
cranelift-codegen = { version = "0.46.1", features = ["enable-serde"] }
|
||||
cranelift-wasm = { version = "0.46.1", features = ["enable-serde"] }
|
||||
cranelift-native = "0.46.1"
|
||||
libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" }
|
||||
wasmparser = { version = "0.39.1", default-features = false }
|
||||
wasmparser = { version = "0.39.2", default-features = false }
|
||||
binaryen = "0.5.0"
|
||||
|
||||
[features]
|
||||
|
||||
Reference in New Issue
Block a user