diff --git a/Cargo.toml b/Cargo.toml index 2a17415ef3..8d5f3f3986 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -22,8 +22,8 @@ name = "wasm2obj" path = "src/wasm2obj.rs" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-native = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-native = "0.32.0" wasmtime-debug = { path = "wasmtime-debug" } wasmtime-environ = { path = "wasmtime-environ" } wasmtime-runtime = { path = "wasmtime-runtime" } @@ -36,8 +36,8 @@ wasi-common = { git = "https://github.com/CraneStation/wasi-common" } docopt = "1.0.1" serde = "1.0.75" serde_derive = "1.0.75" -faerie = "0.9.1" -target-lexicon = { version = "0.3.0", default-features = false } +faerie = "0.10.1" +target-lexicon = { version = "0.4.0", default-features = false } pretty_env_logger = "0.3.0" file-per-thread-logger = "0.1.1" wabt = "0.7" diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index ee47be7913..f3f836ff45 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 = "0.30.0" -cranelift-wasm = "0.30.0" -cranelift-native = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-wasm = "0.32.0" +cranelift-native = "0.32.0" libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } -wasmparser = { version = "0.29.2", default-features = false } +wasmparser = { version = "0.32.1", default-features = false } binaryen = "0.5.0" [features] diff --git a/wasmtime-debug/Cargo.toml b/wasmtime-debug/Cargo.toml index dc9734fc88..70f11a2515 100644 --- a/wasmtime-debug/Cargo.toml +++ b/wasmtime-debug/Cargo.toml @@ -13,13 +13,13 @@ edition = "2018" [dependencies] gimli = "0.17.0" -wasmparser = { version = "0.29.0" } -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" -faerie = "0.9.1" +wasmparser = { version = "0.32.1" } +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" +faerie = "0.10.1" wasmtime-environ = { path = "../wasmtime-environ", default-features = false } -target-lexicon = { version = "0.3.0", default-features = false } +target-lexicon = { version = "0.4.0", default-features = false } failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false } diff --git a/wasmtime-debug/src/write_debuginfo.rs b/wasmtime-debug/src/write_debuginfo.rs index f591936c26..b4d7878995 100644 --- a/wasmtime-debug/src/write_debuginfo.rs +++ b/wasmtime-debug/src/write_debuginfo.rs @@ -6,7 +6,7 @@ use gimli::write::{ }; use gimli::RunTimeEndian; -use faerie::artifact::Decl; +use faerie::artifact::{Decl, SectionKind}; use faerie::*; struct DebugReloc { @@ -21,7 +21,7 @@ macro_rules! decl_section { $artifact .declare_with( SectionId::$section.name(), - Decl::debug_section(), + Decl::section(SectionKind::Debug), $name.0.writer.into_vec(), ) .unwrap(); diff --git a/wasmtime-environ/Cargo.toml b/wasmtime-environ/Cargo.toml index e75b179db0..07f87c3073 100644 --- a/wasmtime-environ/Cargo.toml +++ b/wasmtime-environ/Cargo.toml @@ -12,9 +12,9 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" 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/func_environ.rs b/wasmtime-environ/src/func_environ.rs index 71c8190cab..7fd3a9b126 100644 --- a/wasmtime-environ/src/func_environ.rs +++ b/wasmtime-environ/src/func_environ.rs @@ -346,7 +346,7 @@ impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'m self.target_config } - fn make_table(&mut self, func: &mut ir::Function, index: TableIndex) -> ir::Table { + fn make_table(&mut self, func: &mut ir::Function, index: TableIndex) -> WasmResult { let pointer_type = self.pointer_type(); let (ptr, base_offset, current_elements_offset) = { @@ -394,16 +394,16 @@ impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'m } }; - func.create_table(ir::TableData { + Ok(func.create_table(ir::TableData { base_gv, min_size: Uimm64::new(0), bound_gv, element_size: Uimm64::new(element_size), index_type: I32, - }) + })) } - fn make_heap(&mut self, func: &mut ir::Function, index: MemoryIndex) -> ir::Heap { + fn make_heap(&mut self, func: &mut ir::Function, index: MemoryIndex) -> WasmResult { let pointer_type = self.pointer_type(); let (ptr, base_offset, current_length_offset) = { @@ -473,16 +473,20 @@ impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'m global_type: pointer_type, readonly: readonly_base, }); - func.create_heap(ir::HeapData { + Ok(func.create_heap(ir::HeapData { base: heap_base, min_size: 0.into(), offset_guard_size, style: heap_style, index_type: I32, - }) + })) } - fn make_global(&mut self, func: &mut ir::Function, index: GlobalIndex) -> GlobalVariable { + fn make_global( + &mut self, + func: &mut ir::Function, + index: GlobalIndex, + ) -> WasmResult { let pointer_type = self.pointer_type(); let (ptr, offset) = { @@ -503,28 +507,36 @@ impl<'module_environment> cranelift_wasm::FuncEnvironment for FuncEnvironment<'m } }; - GlobalVariable::Memory { + Ok(GlobalVariable::Memory { gv: ptr, offset: offset.into(), ty: self.module.globals[index].ty, - } + }) } - fn make_indirect_sig(&mut self, func: &mut ir::Function, index: SignatureIndex) -> ir::SigRef { - func.import_signature(self.module.signatures[index].clone()) + fn make_indirect_sig( + &mut self, + func: &mut ir::Function, + index: SignatureIndex, + ) -> WasmResult { + Ok(func.import_signature(self.module.signatures[index].clone())) } - fn make_direct_func(&mut self, func: &mut ir::Function, index: FuncIndex) -> ir::FuncRef { + fn make_direct_func( + &mut self, + func: &mut ir::Function, + index: FuncIndex, + ) -> WasmResult { let sigidx = self.module.functions[index]; let signature = func.import_signature(self.module.signatures[sigidx].clone()); let name = get_func_name(index); - func.import_function(ir::ExtFuncData { + Ok(func.import_function(ir::ExtFuncData { name, signature, // We currently allocate all code segments independently, so nothing // is colocated. colocated: false, - }) + })) } fn translate_call_indirect( diff --git a/wasmtime-jit/Cargo.toml b/wasmtime-jit/Cargo.toml index 644aee66f9..c0a1e65c9a 100644 --- a/wasmtime-jit/Cargo.toml +++ b/wasmtime-jit/Cargo.toml @@ -12,19 +12,19 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" -cranelift-frontend = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" +cranelift-frontend = "0.32.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 } region = "2.0.0" failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false } -target-lexicon = { version = "0.3.0", default-features = false } +target-lexicon = { version = "0.4.0", default-features = false } hashbrown = { version = "0.1.8", optional = true } -wasmparser = "0.29.2" +wasmparser = "0.32.1" [features] default = ["std"] diff --git a/wasmtime-jit/src/context.rs b/wasmtime-jit/src/context.rs index b017d52a1b..12e710f866 100644 --- a/wasmtime-jit/src/context.rs +++ b/wasmtime-jit/src/context.rs @@ -84,6 +84,7 @@ impl Context { enable_reference_types: false, enable_bulk_memory: false, enable_simd: false, + enable_multi_value: false, }, mutable_global_imports: true, }; diff --git a/wasmtime-obj/Cargo.toml b/wasmtime-obj/Cargo.toml index d0169e1ff5..bba1f9052c 100644 --- a/wasmtime-obj/Cargo.toml +++ b/wasmtime-obj/Cargo.toml @@ -12,8 +12,8 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" wasmtime-environ = { path = "../wasmtime-environ" } -faerie = "0.9.1" +faerie = "0.10.1" diff --git a/wasmtime-runtime/Cargo.toml b/wasmtime-runtime/Cargo.toml index 3b2ccc31a3..3e78231066 100644 --- a/wasmtime-runtime/Cargo.toml +++ b/wasmtime-runtime/Cargo.toml @@ -12,9 +12,9 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" 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 3f9683d132..0395e24e9f 100644 --- a/wasmtime-wasi-c/Cargo.toml +++ b/wasmtime-wasi-c/Cargo.toml @@ -13,10 +13,10 @@ readme = "README.md" wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" -target-lexicon = "0.3.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" +target-lexicon = "0.4.0" log = { version = "0.4.6", default-features = false } libc = "0.2.50" diff --git a/wasmtime-wasi/Cargo.toml b/wasmtime-wasi/Cargo.toml index 511dc505bd..48588b1519 100644 --- a/wasmtime-wasi/Cargo.toml +++ b/wasmtime-wasi/Cargo.toml @@ -14,10 +14,10 @@ wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } wasi-common = { git = "https://github.com/CraneStation/wasi-common" } -cranelift-codegen = "0.30.0" -cranelift-entity = "0.30.0" -cranelift-wasm = "0.30.0" -target-lexicon = "0.3.0" +cranelift-codegen = "0.32.0" +cranelift-entity = "0.32.0" +cranelift-wasm = "0.32.0" +target-lexicon = "0.4.0" log = { version = "0.4.6", default-features = false } [badges] diff --git a/wasmtime-wast/Cargo.toml b/wasmtime-wast/Cargo.toml index 567785f497..2f12a68c0e 100644 --- a/wasmtime-wast/Cargo.toml +++ b/wasmtime-wast/Cargo.toml @@ -12,15 +12,15 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.30.0" -cranelift-native = "0.30.0" -cranelift-wasm = "0.30.0" -cranelift-entity = "0.30.0" +cranelift-codegen = "0.32.0" +cranelift-native = "0.32.0" +cranelift-wasm = "0.32.0" +cranelift-entity = "0.32.0" wasmtime-jit = { path = "../wasmtime-jit" } wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wabt = "0.7" -target-lexicon = "0.3.0" +target-lexicon = "0.4.0" failure = { version = "0.1.3", default-features = false } failure_derive = { version = "0.1.3", default-features = false }