diff --git a/Cargo.toml b/Cargo.toml index 2d928f9135..bc6b1c3256 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "wasmtime" authors = ["The Wasmtime Project Developers"] -version = "0.1.0" +version = "0.2.0" description = "Command-line interface for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" documentation = "https://cranelift.readthedocs.io/" @@ -11,10 +11,10 @@ edition = "2018" default-run = "wasmtime" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-native = "0.38.0" -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-native = "0.40.0" +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } wasmtime-debug = { path = "wasmtime-debug" } wasmtime-environ = { path = "wasmtime-environ" } wasmtime-interface-types = { path = "wasmtime-interface-types" } diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index b6142c4246..d6b8f5be52 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -11,11 +11,11 @@ cargo-fuzz = true [dependencies] wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } -cranelift-native = "0.38.0" +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } +cranelift-native = "0.40.0" libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } -wasmparser = { version = "0.32.1", default-features = false } +wasmparser = { version = "0.36.0", default-features = false } binaryen = "0.5.0" [features] diff --git a/misc/wasmtime-py/Cargo.toml b/misc/wasmtime-py/Cargo.toml index 58ca881057..94c481dc18 100644 --- a/misc/wasmtime-py/Cargo.toml +++ b/misc/wasmtime-py/Cargo.toml @@ -2,7 +2,7 @@ name = "wasmtime-py" version = "0.3.0" authors = ["The Wasmtime Project Developers"] -description = "Python extension for the wasmtime" +description = "Python extension for Wasmtime" license = "Apache-2.0 WITH LLVM-exception" categories = ["wasm", "python"] edition = "2018" @@ -13,11 +13,11 @@ name = "_wasmtime" crate-type = ["cdylib"] [dependencies] -cranelift-codegen = "0.38.0" -cranelift-native = "0.38.0" -cranelift-entity = "0.38.0" -cranelift-wasm = "0.38.0" -cranelift-frontend = "0.38.0" +cranelift-codegen = "0.40.0" +cranelift-native = "0.40.0" +cranelift-entity = "0.40.0" +cranelift-wasm = "0.40.0" +cranelift-frontend = "0.40.0" wasmtime-environ = { path = "../../wasmtime-environ" } wasmtime-interface-types = { path = "../../wasmtime-interface-types" } wasmtime-jit = { path = "../../wasmtime-jit" } @@ -25,7 +25,7 @@ wasmtime-runtime = { path = "../../wasmtime-runtime" } target-lexicon = { version = "0.4.0", default-features = false } failure = "0.1" region = "2.0.0" -wasmparser = "0.35.3" +wasmparser = "0.36.0" [dependencies.pyo3] version = "0.7.0-alpha.1" diff --git a/misc/wasmtime-rust/Cargo.toml b/misc/wasmtime-rust/Cargo.toml index 0374fe8a8f..364665704e 100644 --- a/misc/wasmtime-rust/Cargo.toml +++ b/misc/wasmtime-rust/Cargo.toml @@ -3,14 +3,16 @@ name = "wasmtime-rust" version = "0.1.0" authors = ["Alex Crichton "] edition = "2018" +categories = ["wasm", "rust"] +license = "Apache-2.0 WITH LLVM-exception" [lib] test = false doctest = false [dependencies] -cranelift-codegen = "0.38.0" -cranelift-native = "0.38.0" +cranelift-codegen = "0.40.0" +cranelift-native = "0.40.0" failure = "0.1.5" wasmtime-interface-types = { path = "../../wasmtime-interface-types" } wasmtime-jit = { path = "../../wasmtime-jit" } diff --git a/publish-all.sh b/publish-all.sh index 2a738e6cb8..ca25385077 100755 --- a/publish-all.sh +++ b/publish-all.sh @@ -9,7 +9,7 @@ topdir=$(dirname "$0") cd "$topdir" # All the wasmtime-* crates have the same version number -version="0.1.0" +version="0.2.0" # Update all of the Cargo.toml files. # @@ -34,9 +34,26 @@ cargo update # Note that libraries need to be published in topological order. echo git commit -a -m "\"Bump version to $version"\" +echo git tag v$version echo git push +echo git push origin v$version for crate in \ - wasmtime-environ + wasmtime \ + wasmtime-wasi \ + wasmtime-wasi-c \ + wasmtime-wast \ + wasmtime-debug \ + wasmtime-environ \ + wasmtime-runtime \ + wasmtime-jit \ + wasmtime-interface-types \ + wasmtime-obj \ + wasmtime-py \ + wasmtime-rust do echo cargo publish --manifest-path "$crate/Cargo.toml" + + # Sleep for a few seconds to allow the server to update the index. + # https://internals.rust-lang.org/t/changes-to-how-crates-io-handles-index-updates/9608 + echo sleep 10 done diff --git a/spec_testsuite b/spec_testsuite index b2800641d6..0ec9e194f7 160000 --- a/spec_testsuite +++ b/spec_testsuite @@ -1 +1 @@ -Subproject commit b2800641d6c6b6a0c462f83e620843c414bea579 +Subproject commit 0ec9e194f7f213a8267d3a32d34e873410cafefe diff --git a/test-all.sh b/test-all.sh index a5789ca313..fcbbaf6e39 100755 --- a/test-all.sh +++ b/test-all.sh @@ -53,12 +53,18 @@ banner "Rust unit tests" RUST_BACKTRACE=1 cargo test \ --package wasmtime \ --package wasmtime-wasi \ + --package wasmtime-wasi-c \ --package wasmtime-wast \ --package wasmtime-debug \ --package wasmtime-environ \ --package wasmtime-runtime \ --package wasmtime-jit \ - --package wasmtime-obj + --package wasmtime-interface-types \ + --package wasmtime-obj \ + +RUST_BACKTRACE=1 cargo +nightly test \ + --package wasmtime-py \ + --package wasmtime-rust # Make sure the documentation builds. banner "Rust documentation: $topdir/target/doc/wasmtime/index.html" diff --git a/wasmtime-debug/Cargo.toml b/wasmtime-debug/Cargo.toml index 6bf3758a93..3db02c0b4b 100644 --- a/wasmtime-debug/Cargo.toml +++ b/wasmtime-debug/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-debug" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] description = "Debug utils for WebAsssembly code in Cranelift" repository = "https://github.com/CraneStation/wasmtime" @@ -13,10 +13,10 @@ edition = "2018" [dependencies] gimli = "0.19.0" -wasmparser = { version = "0.35.1" } -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +wasmparser = { version = "0.36.0" } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } faerie = "0.10.1" wasmtime-environ = { path = "../wasmtime-environ", default-features = false } target-lexicon = { version = "0.4.0", default-features = false } diff --git a/wasmtime-environ/Cargo.toml b/wasmtime-environ/Cargo.toml index a1e994ce4a..d57fbdd36f 100644 --- a/wasmtime-environ/Cargo.toml +++ b/wasmtime-environ/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-environ" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] description = "Standalone environment support for WebAsssembly code in Cranelift" repository = "https://github.com/CraneStation/wasmtime" @@ -12,9 +12,9 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } lightbeam = { path = "../lightbeam", optional = true } failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false } diff --git a/wasmtime-environ/src/cranelift.rs b/wasmtime-environ/src/cranelift.rs index c2a182abd3..c994cca044 100644 --- a/wasmtime-environ/src/cranelift.rs +++ b/wasmtime-environ/src/cranelift.rs @@ -197,8 +197,15 @@ impl crate::compilation::Compiler for Cranelift { let mut code_buf: Vec = Vec::new(); let mut reloc_sink = RelocSink::new(func_index); let mut trap_sink = binemit::NullTrapSink {}; + let mut stackmap_sink = binemit::NullStackmapSink {}; context - .compile_and_emit(isa, &mut code_buf, &mut reloc_sink, &mut trap_sink) + .compile_and_emit( + isa, + &mut code_buf, + &mut reloc_sink, + &mut trap_sink, + &mut stackmap_sink, + ) .map_err(CompileError::Codegen)?; let jt_offsets = context.func.jt_offsets.clone(); diff --git a/wasmtime-environ/src/module_environ.rs b/wasmtime-environ/src/module_environ.rs index a38359be3c..c96a199ee8 100644 --- a/wasmtime-environ/src/module_environ.rs +++ b/wasmtime-environ/src/module_environ.rs @@ -91,20 +91,27 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data self.result.target_config } - fn reserve_signatures(&mut self, num: u32) { + fn reserve_signatures(&mut self, num: u32) -> WasmResult<()> { self.result .module .signatures .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_signature(&mut self, sig: ir::Signature) { + fn declare_signature(&mut self, sig: ir::Signature) -> WasmResult<()> { let sig = translate_signature(sig, self.pointer_type()); // TODO: Deduplicate signatures. self.result.module.signatures.push(sig); + Ok(()) } - fn declare_func_import(&mut self, sig_index: SignatureIndex, module: &str, field: &str) { + fn declare_func_import( + &mut self, + sig_index: SignatureIndex, + module: &str, + field: &str, + ) -> WasmResult<()> { debug_assert_eq!( self.result.module.functions.len(), self.result.module.imported_funcs.len(), @@ -116,9 +123,10 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data .module .imported_funcs .push((String::from(module), String::from(field))); + Ok(()) } - fn declare_table_import(&mut self, table: Table, module: &str, field: &str) { + fn declare_table_import(&mut self, table: Table, module: &str, field: &str) -> WasmResult<()> { debug_assert_eq!( self.result.module.table_plans.len(), self.result.module.imported_tables.len(), @@ -131,9 +139,15 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data .module .imported_tables .push((String::from(module), String::from(field))); + Ok(()) } - fn declare_memory_import(&mut self, memory: Memory, module: &str, field: &str) { + fn declare_memory_import( + &mut self, + memory: Memory, + module: &str, + field: &str, + ) -> WasmResult<()> { debug_assert_eq!( self.result.module.memory_plans.len(), self.result.module.imported_memories.len(), @@ -146,9 +160,15 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data .module .imported_memories .push((String::from(module), String::from(field))); + Ok(()) } - fn declare_global_import(&mut self, global: Global, module: &str, field: &str) { + fn declare_global_import( + &mut self, + global: Global, + module: &str, + field: &str, + ) -> WasmResult<()> { debug_assert_eq!( self.result.module.globals.len(), self.result.module.imported_globals.len(), @@ -160,16 +180,18 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data .module .imported_globals .push((String::from(module), String::from(field))); + Ok(()) } - fn finish_imports(&mut self) { + fn finish_imports(&mut self) -> WasmResult<()> { self.result.module.imported_funcs.shrink_to_fit(); self.result.module.imported_tables.shrink_to_fit(); self.result.module.imported_memories.shrink_to_fit(); self.result.module.imported_globals.shrink_to_fit(); + Ok(()) } - fn reserve_func_types(&mut self, num: u32) { + fn reserve_func_types(&mut self, num: u32) -> WasmResult<()> { self.result .module .functions @@ -177,92 +199,107 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data self.result .function_body_inputs .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_func_type(&mut self, sig_index: SignatureIndex) { + fn declare_func_type(&mut self, sig_index: SignatureIndex) -> WasmResult<()> { self.result.module.functions.push(sig_index); + Ok(()) } - fn reserve_tables(&mut self, num: u32) { + fn reserve_tables(&mut self, num: u32) -> WasmResult<()> { self.result .module .table_plans .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_table(&mut self, table: Table) { + fn declare_table(&mut self, table: Table) -> WasmResult<()> { let plan = TablePlan::for_table(table, &self.result.tunables); self.result.module.table_plans.push(plan); + Ok(()) } - fn reserve_memories(&mut self, num: u32) { + fn reserve_memories(&mut self, num: u32) -> WasmResult<()> { self.result .module .memory_plans .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_memory(&mut self, memory: Memory) { + fn declare_memory(&mut self, memory: Memory) -> WasmResult<()> { let plan = MemoryPlan::for_memory(memory, &self.result.tunables); self.result.module.memory_plans.push(plan); + Ok(()) } - fn reserve_globals(&mut self, num: u32) { + fn reserve_globals(&mut self, num: u32) -> WasmResult<()> { self.result .module .globals .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_global(&mut self, global: Global) { + fn declare_global(&mut self, global: Global) -> WasmResult<()> { self.result.module.globals.push(global); + Ok(()) } - fn reserve_exports(&mut self, num: u32) { + fn reserve_exports(&mut self, num: u32) -> WasmResult<()> { self.result .module .exports .reserve(usize::try_from(num).unwrap()); + Ok(()) } - fn declare_func_export(&mut self, func_index: FuncIndex, name: &str) { + fn declare_func_export(&mut self, func_index: FuncIndex, name: &str) -> WasmResult<()> { self.result .module .exports .insert(String::from(name), Export::Function(func_index)); + Ok(()) } - fn declare_table_export(&mut self, table_index: TableIndex, name: &str) { + fn declare_table_export(&mut self, table_index: TableIndex, name: &str) -> WasmResult<()> { self.result .module .exports .insert(String::from(name), Export::Table(table_index)); + Ok(()) } - fn declare_memory_export(&mut self, memory_index: MemoryIndex, name: &str) { + fn declare_memory_export(&mut self, memory_index: MemoryIndex, name: &str) -> WasmResult<()> { self.result .module .exports .insert(String::from(name), Export::Memory(memory_index)); + Ok(()) } - fn declare_global_export(&mut self, global_index: GlobalIndex, name: &str) { + fn declare_global_export(&mut self, global_index: GlobalIndex, name: &str) -> WasmResult<()> { self.result .module .exports .insert(String::from(name), Export::Global(global_index)); + Ok(()) } - fn declare_start_func(&mut self, func_index: FuncIndex) { + fn declare_start_func(&mut self, func_index: FuncIndex) -> WasmResult<()> { debug_assert!(self.result.module.start_func.is_none()); self.result.module.start_func = Some(func_index); + Ok(()) } - fn reserve_table_elements(&mut self, num: u32) { + fn reserve_table_elements(&mut self, num: u32) -> WasmResult<()> { self.result .module .table_elements .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } fn declare_table_elements( @@ -271,13 +308,14 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data base: Option, offset: usize, elements: Box<[FuncIndex]>, - ) { + ) -> WasmResult<()> { self.result.module.table_elements.push(TableElements { table_index, base, offset, elements, }); + Ok(()) } fn define_function_body( @@ -292,10 +330,11 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data Ok(()) } - fn reserve_data_initializers(&mut self, num: u32) { + fn reserve_data_initializers(&mut self, num: u32) -> WasmResult<()> { self.result .data_initializers .reserve_exact(usize::try_from(num).unwrap()); + Ok(()) } fn declare_data_initialization( @@ -304,7 +343,7 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data base: Option, offset: usize, data: &'data [u8], - ) { + ) -> WasmResult<()> { self.result.data_initializers.push(DataInitializer { location: DataInitializerLocation { memory_index, @@ -313,6 +352,7 @@ impl<'data> cranelift_wasm::ModuleEnvironment<'data> for ModuleEnvironment<'data }, data, }); + Ok(()) } } diff --git a/wasmtime-interface-types/Cargo.toml b/wasmtime-interface-types/Cargo.toml index e1aa1f826e..10b8f05c4f 100644 --- a/wasmtime-interface-types/Cargo.toml +++ b/wasmtime-interface-types/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-interface-types" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] publish = false description = "Support for wasm interface types with wasmtime" @@ -12,10 +12,10 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.38.0" +cranelift-codegen = "0.40.0" failure = "0.1" walrus = "0.11.0" -wasmparser = "0.35" +wasmparser = "0.36.0" wasm-webidl-bindings = "0.4.0" wasmtime-jit = { path = '../wasmtime-jit' } wasmtime-runtime = { path = '../wasmtime-runtime' } diff --git a/wasmtime-jit/Cargo.toml b/wasmtime-jit/Cargo.toml index 9b4b13651f..5dbd2dec81 100644 --- a/wasmtime-jit/Cargo.toml +++ b/wasmtime-jit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-jit" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] publish = false description = "JIT-style execution for WebAsssembly code in Cranelift" @@ -12,10 +12,10 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } -cranelift-frontend = "0.38.0" +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } +cranelift-frontend = "0.40.0" wasmtime-environ = { path = "../wasmtime-environ", default-features = false } wasmtime-runtime = { path = "../wasmtime-runtime", default-features = false } wasmtime-debug = { path = "../wasmtime-debug", default-features = false } @@ -24,7 +24,7 @@ failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false } target-lexicon = { version = "0.4.0", default-features = false } hashbrown = { version = "0.6.0", optional = true } -wasmparser = "0.35.1" +wasmparser = "0.36.0" [features] default = ["std"] diff --git a/wasmtime-jit/src/compiler.rs b/wasmtime-jit/src/compiler.rs index 45183fe16c..84d1a4624e 100644 --- a/wasmtime-jit/src/compiler.rs +++ b/wasmtime-jit/src/compiler.rs @@ -270,8 +270,15 @@ fn make_trampoline( let mut code_buf: Vec = Vec::new(); let mut reloc_sink = RelocSink {}; let mut trap_sink = binemit::NullTrapSink {}; + let mut stackmap_sink = binemit::NullStackmapSink {}; context - .compile_and_emit(isa, &mut code_buf, &mut reloc_sink, &mut trap_sink) + .compile_and_emit( + isa, + &mut code_buf, + &mut reloc_sink, + &mut trap_sink, + &mut stackmap_sink, + ) .map_err(|error| SetupError::Compile(CompileError::Codegen(error)))?; Ok(code_memory diff --git a/wasmtime-jit/src/context.rs b/wasmtime-jit/src/context.rs index eabee01933..b04dd5d7a5 100644 --- a/wasmtime-jit/src/context.rs +++ b/wasmtime-jit/src/context.rs @@ -68,7 +68,6 @@ impl Into for Features { enable_simd: self.simd, enable_multi_value: self.multi_value, }, - mutable_global_imports: true, } } } diff --git a/wasmtime-obj/Cargo.toml b/wasmtime-obj/Cargo.toml index cc0988cded..1908503c37 100644 --- a/wasmtime-obj/Cargo.toml +++ b/wasmtime-obj/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-obj" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] description = "Native object file output for WebAsssembly code in Wasmtime" publish = false @@ -12,8 +12,8 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } wasmtime-environ = { path = "../wasmtime-environ" } faerie = "0.10.1" diff --git a/wasmtime-runtime/Cargo.toml b/wasmtime-runtime/Cargo.toml index 225b560a6f..59f9900b51 100644 --- a/wasmtime-runtime/Cargo.toml +++ b/wasmtime-runtime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-runtime" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] publish = false description = "Runtime library support for Wasmtime" @@ -12,9 +12,9 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } wasmtime-environ = { path = "../wasmtime-environ", default-features = false } region = "2.0.0" lazy_static = "1.2.0" diff --git a/wasmtime-wasi-c/Cargo.toml b/wasmtime-wasi-c/Cargo.toml index 01b28c41a6..004f728b4b 100644 --- a/wasmtime-wasi-c/Cargo.toml +++ b/wasmtime-wasi-c/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wasi-c" -version = "0.0.0" +version = "0.2.0" authors = ["The Cranelift Project Developers"] publish = false description = "WASI API support for Wasmtime" @@ -13,9 +13,9 @@ readme = "README.md" wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } target-lexicon = "0.4.0" log = { version = "0.4.8", default-features = false } libc = "0.2.60" diff --git a/wasmtime-wasi/Cargo.toml b/wasmtime-wasi/Cargo.toml index 9b9069b005..64a7ea4d3a 100644 --- a/wasmtime-wasi/Cargo.toml +++ b/wasmtime-wasi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wasi" -version = "0.0.0" +version = "0.2.0" authors = ["The Cranelift Project Developers"] publish = false description = "WASI API support for Wasmtime" @@ -14,9 +14,9 @@ wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } wasi-common = { git = "https://github.com/CraneStation/wasi-common", rev = "8ea7a983d8b1364e5f62d2adf0e74b3b8db1c9b3"} -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } target-lexicon = "0.4.0" log = { version = "0.4.8", default-features = false } diff --git a/wasmtime-wast/Cargo.toml b/wasmtime-wast/Cargo.toml index 96eae6b6bf..240394622d 100644 --- a/wasmtime-wast/Cargo.toml +++ b/wasmtime-wast/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "wasmtime-wast" -version = "0.1.0" +version = "0.2.0" authors = ["The Wasmtime Project Developers"] publish = false description = "wast testing support for wasmtime" @@ -12,13 +12,13 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = { version = "0.38.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.38.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.38.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } wasmtime-jit = { path = "../wasmtime-jit" } wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } -wabt = "0.7" +wabt = "0.9.1" target-lexicon = "0.4.0" failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false } diff --git a/wasmtime-wast/src/wast.rs b/wasmtime-wast/src/wast.rs index 2213bdd7ff..040fc8cb05 100644 --- a/wasmtime-wast/src/wast.rs +++ b/wasmtime-wast/src/wast.rs @@ -15,6 +15,7 @@ fn runtime_value(v: Value) -> RuntimeValue { Value::I64(x) => RuntimeValue::I64(x), Value::F32(x) => RuntimeValue::F32(x.to_bits()), Value::F64(x) => RuntimeValue::F64(x.to_bits()), + Value::V128(_) => unimplemented!("SIMD"), } } @@ -295,7 +296,7 @@ impl WastContext { } } } - CommandKind::AssertExhaustion { action } => { + CommandKind::AssertExhaustion { action, message } => { match self.perform_action(action).map_err(|error| WastFileError { filename: filename.to_string(), line, @@ -311,10 +312,12 @@ impl WastContext { )), }); } - ActionOutcome::Trapped { message } => { + ActionOutcome::Trapped { + message: trap_message, + } => { println!( - "{}:{}: TODO: Check the assert_exhaustion message: {}", - filename, line, message + "{}:{}: TODO: Check the assert_exhaustion message: expected {}, got {}", + filename, line, message, trap_message ); } }