From fad70eb8bb97f207db8242715b78197124ad72ee Mon Sep 17 00:00:00 2001 From: Artur Jamro Date: Thu, 22 Aug 2019 10:09:40 -0700 Subject: [PATCH] Refactor usage of SecondaryMap impls (serde, PartialEq) --- Cargo.toml | 8 +- cranelift-version.sh | 2 +- fuzz/Cargo.toml | 6 +- misc/wasmtime-py/Cargo.toml | 10 +- misc/wasmtime-rust/Cargo.toml | 4 +- wasmtime-api/Cargo.toml | 10 +- wasmtime-api/src/trampoline/func.rs | 8 ++ wasmtime-debug/Cargo.toml | 6 +- wasmtime-environ/Cargo.toml | 7 +- wasmtime-environ/src/cache.rs | 180 +--------------------------- wasmtime-environ/src/cache/tests.rs | 68 +---------- wasmtime-environ/src/compilation.rs | 6 +- wasmtime-interface-types/Cargo.toml | 2 +- wasmtime-jit/Cargo.toml | 8 +- wasmtime-obj/Cargo.toml | 6 +- wasmtime-runtime/Cargo.toml | 6 +- wasmtime-wasi-c/Cargo.toml | 6 +- wasmtime-wasi/Cargo.toml | 6 +- wasmtime-wast/Cargo.toml | 6 +- 19 files changed, 65 insertions(+), 290 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index ce1d36219c..0045065d9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,10 +11,10 @@ edition = "2018" default-run = "wasmtime" [dependencies] -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"] } +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.0", features = ["enable-serde"] } +cranelift-native = "0.41.0" wasmtime-api = { path = "wasmtime-api" } wasmtime-debug = { path = "wasmtime-debug" } wasmtime-environ = { path = "wasmtime-environ" } diff --git a/cranelift-version.sh b/cranelift-version.sh index 730c6b888f..006e4a5363 100755 --- a/cranelift-version.sh +++ b/cranelift-version.sh @@ -9,7 +9,7 @@ topdir=$(dirname "$0") cd "$topdir" # All the cranelift-* crates have the same version number -version="0.38.0" +version="0.41.0" # Update all of the Cargo.toml files. echo "Updating crate versions to $version" diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index d6b8f5be52..cd8d4c4ac4 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -11,9 +11,9 @@ cargo-fuzz = true [dependencies] wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } -cranelift-codegen = { version = "0.40.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } -cranelift-native = "0.40.0" +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.0", features = ["enable-serde"] } +cranelift-native = "0.41.0" libfuzzer-sys = { git = "https://github.com/rust-fuzz/libfuzzer-sys.git" } wasmparser = { version = "0.36.0", default-features = false } binaryen = "0.5.0" diff --git a/misc/wasmtime-py/Cargo.toml b/misc/wasmtime-py/Cargo.toml index c5bf58fcc5..51bfd193f2 100644 --- a/misc/wasmtime-py/Cargo.toml +++ b/misc/wasmtime-py/Cargo.toml @@ -12,11 +12,11 @@ name = "_wasmtime" crate-type = ["cdylib"] [dependencies] -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" +cranelift-codegen = "0.41.0" +cranelift-native = "0.41.0" +cranelift-entity = "0.41.0" +cranelift-wasm = "0.41.0" +cranelift-frontend = "0.41.0" wasmtime-environ = { path = "../../wasmtime-environ" } wasmtime-interface-types = { path = "../../wasmtime-interface-types" } wasmtime-jit = { path = "../../wasmtime-jit" } diff --git a/misc/wasmtime-rust/Cargo.toml b/misc/wasmtime-rust/Cargo.toml index 91d1865baf..0c7b675d30 100644 --- a/misc/wasmtime-rust/Cargo.toml +++ b/misc/wasmtime-rust/Cargo.toml @@ -12,8 +12,8 @@ test = false doctest = false [dependencies] -cranelift-codegen = "0.40.0" -cranelift-native = "0.40.0" +cranelift-codegen = "0.41.0" +cranelift-native = "0.41.0" failure = "0.1.5" wasmtime-interface-types = { path = "../../wasmtime-interface-types" } wasmtime-jit = { path = "../../wasmtime-jit" } diff --git a/wasmtime-api/Cargo.toml b/wasmtime-api/Cargo.toml index 48d443e196..21a51f59c8 100644 --- a/wasmtime-api/Cargo.toml +++ b/wasmtime-api/Cargo.toml @@ -12,11 +12,11 @@ name = "wasmtime_api" crate-type = ["lib", "staticlib", "cdylib"] [dependencies] -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" +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-native = "0.41.0" +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.0", features = ["enable-serde"] } +cranelift-frontend = "0.41.0" wasmtime-runtime = { path="../wasmtime-runtime" } wasmtime-environ = { path="../wasmtime-environ" } wasmtime-jit = { path="../wasmtime-jit" } diff --git a/wasmtime-api/src/trampoline/func.rs b/wasmtime-api/src/trampoline/func.rs index 3982a8642b..288b4e00e6 100644 --- a/wasmtime-api/src/trampoline/func.rs +++ b/wasmtime-api/src/trampoline/func.rs @@ -254,6 +254,14 @@ impl binemit::RelocSink for RelocSink { ) { panic!("trampoline compilation should not produce external symbol relocs"); } + fn reloc_constant( + &mut self, + _code_offset: binemit::CodeOffset, + _reloc: binemit::Reloc, + _constant_offset: ir::ConstantOffset, + ) { + panic!("trampoline compilation should not produce constant relocs"); + } fn reloc_jt( &mut self, _offset: binemit::CodeOffset, diff --git a/wasmtime-debug/Cargo.toml b/wasmtime-debug/Cargo.toml index 3db02c0b4b..599418f681 100644 --- a/wasmtime-debug/Cargo.toml +++ b/wasmtime-debug/Cargo.toml @@ -14,9 +14,9 @@ edition = "2018" [dependencies] gimli = "0.19.0" 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"] } +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 72428ca4bf..6310e5ac8b 100644 --- a/wasmtime-environ/Cargo.toml +++ b/wasmtime-environ/Cargo.toml @@ -12,9 +12,9 @@ readme = "README.md" edition = "2018" [dependencies] -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-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 } @@ -35,6 +35,7 @@ tempfile = "3" target-lexicon = { version = "0.4.0", default-features = false } pretty_env_logger = "0.3.0" rand = { version = "0.7.0", features = ["small_rng"] } +cranelift-codegen = { version = "0.41.0", features = ["enable-serde", "all-arch"] } [features] default = ["std"] diff --git a/wasmtime-environ/src/cache.rs b/wasmtime-environ/src/cache.rs index 905ac26f9a..4c41797e26 100644 --- a/wasmtime-environ/src/cache.rs +++ b/wasmtime-environ/src/cache.rs @@ -1,5 +1,5 @@ use crate::address_map::{ModuleAddressMap, ValueLabelsRanges}; -use crate::compilation::{CodeAndJTOffsets, Compilation, Relocations}; +use crate::compilation::{Compilation, Relocations}; use crate::module::Module; use crate::module_environ::FunctionBodyData; use core::hash::Hasher; @@ -8,10 +8,8 @@ use cranelift_entity::PrimaryMap; use cranelift_wasm::DefinedFuncIndex; use lazy_static::lazy_static; use log::{debug, warn}; -use serde::de::{self, Deserialize, Deserializer, MapAccess, SeqAccess, Visitor}; -use serde::ser::{self, Serialize, SerializeSeq, SerializeStruct, Serializer}; +use serde::{Deserialize, Serialize}; use sha2::{Digest, Sha256}; -use std::fmt; use std::fs; use std::io; use std::path::PathBuf; @@ -181,7 +179,7 @@ pub struct ModuleCacheEntry { mod_cache_path: Option, } -#[derive(serde::Serialize, serde::Deserialize, Debug)] +#[derive(Serialize, Deserialize, Debug, PartialEq, Eq)] pub struct ModuleCacheData { compilation: Compilation, relocations: Relocations, @@ -239,7 +237,7 @@ impl ModuleCacheEntry { None }; - ModuleCacheEntry { mod_cache_path } + Self { mod_cache_path } } pub fn get_data(&self) -> Option { @@ -370,175 +368,5 @@ impl Hasher for Sha256Hasher { } } -//-//////////////////////////////////////////////////////////////////// -// Serialization and deserialization of type containing SecondaryMap // -//-//////////////////////////////////////////////////////////////////// - -enum JtOffsetsWrapper<'a> { - Ref(&'a ir::JumpTableOffsets), // for serialization - Data(ir::JumpTableOffsets), // for deserialization -} - -impl Serialize for CodeAndJTOffsets { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - let mut cajto = serializer.serialize_struct("CodeAndJTOffsets", 2)?; - cajto.serialize_field("body", &self.body)?; - cajto.serialize_field("jt_offsets", &JtOffsetsWrapper::Ref(&self.jt_offsets))?; - cajto.end() - } -} - -impl<'de> Deserialize<'de> for CodeAndJTOffsets { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - #[derive(serde::Deserialize)] - #[serde(field_identifier, rename_all = "lowercase")] - enum Field { - Body, - JtOffsets, - }; - - struct CodeAndJTOffsetsVisitor; - - impl<'de> Visitor<'de> for CodeAndJTOffsetsVisitor { - type Value = CodeAndJTOffsets; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("struct CodeAndJTOffsets") - } - - fn visit_seq(self, mut seq: V) -> Result - where - V: SeqAccess<'de>, - { - let body = seq - .next_element()? - .ok_or_else(|| de::Error::invalid_length(0, &self))?; - let jt_offsets = seq - .next_element()? - .ok_or_else(|| de::Error::invalid_length(1, &self))?; - match jt_offsets { - JtOffsetsWrapper::Data(jt_offsets) => Ok(CodeAndJTOffsets { body, jt_offsets }), - JtOffsetsWrapper::Ref(_) => Err(de::Error::custom( - "Received invalid variant of JtOffsetsWrapper", - )), - } - } - - fn visit_map(self, mut map: V) -> Result - where - V: MapAccess<'de>, - { - let mut body = None; - let mut jt_offsets = None; - while let Some(key) = map.next_key()? { - match key { - Field::Body => { - if body.is_some() { - return Err(de::Error::duplicate_field("body")); - } - body = Some(map.next_value()?); - } - Field::JtOffsets => { - if jt_offsets.is_some() { - return Err(de::Error::duplicate_field("jt_offsets")); - } - jt_offsets = Some(map.next_value()?); - } - } - } - - let body = body.ok_or_else(|| de::Error::missing_field("body"))?; - let jt_offsets = - jt_offsets.ok_or_else(|| de::Error::missing_field("jt_offsets"))?; - match jt_offsets { - JtOffsetsWrapper::Data(jt_offsets) => Ok(CodeAndJTOffsets { body, jt_offsets }), - JtOffsetsWrapper::Ref(_) => Err(de::Error::custom( - "Received invalid variant of JtOffsetsWrapper", - )), - } - } - } - - const FIELDS: &'static [&'static str] = &["body", "jt_offsets"]; - deserializer.deserialize_struct("CodeAndJTOffsets", FIELDS, CodeAndJTOffsetsVisitor) - } -} - -impl Serialize for JtOffsetsWrapper<'_> { - fn serialize(&self, serializer: S) -> Result - where - S: Serializer, - { - match self { - JtOffsetsWrapper::Ref(data) => { - // TODO: bincode encodes option as "byte for Some/None" and then optionally the content - // TODO: we can actually optimize it by encoding manually bitmask, then elements - let default_val = data.get_default(); - let mut seq = serializer.serialize_seq(Some(1 + data.len()))?; - seq.serialize_element(&Some(default_val))?; - for e in data.values() { - let some_e = Some(e); - seq.serialize_element(if e == default_val { &None } else { &some_e })?; - } - seq.end() - } - JtOffsetsWrapper::Data(_) => Err(ser::Error::custom( - "Received invalid variant of JtOffsetsWrapper", - )), - } - } -} - -impl<'de> Deserialize<'de> for JtOffsetsWrapper<'_> { - fn deserialize(deserializer: D) -> Result - where - D: Deserializer<'de>, - { - struct JtOffsetsWrapperVisitor; - - impl<'de> Visitor<'de> for JtOffsetsWrapperVisitor { - type Value = JtOffsetsWrapper<'static>; - - fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result { - formatter.write_str("struct JtOffsetsWrapper") - } - - fn visit_seq(self, mut seq: A) -> Result - where - A: SeqAccess<'de>, - { - match seq.next_element()? { - Some(Some(default_val)) => { - let mut m = cranelift_entity::SecondaryMap::with_default(default_val); - let mut idx = 0; - while let Some(val) = seq.next_element()? { - let val: Option<_> = val; // compiler can't infer the type, and this line is needed - match ir::JumpTable::with_number(idx) { - Some(jt_idx) => m[jt_idx] = val.unwrap_or(default_val), - None => { - return Err(serde::de::Error::custom( - "Invalid JumpTable reference", - )) - } - }; - idx += 1; - } - Ok(JtOffsetsWrapper::Data(m)) - } - _ => Err(serde::de::Error::custom("Default value required")), - } - } - } - - deserializer.deserialize_seq(JtOffsetsWrapperVisitor {}) - } -} - #[cfg(test)] mod tests; diff --git a/wasmtime-environ/src/cache/tests.rs b/wasmtime-environ/src/cache/tests.rs index 133d699996..2401e45610 100644 --- a/wasmtime-environ/src/cache/tests.rs +++ b/wasmtime-environ/src/cache/tests.rs @@ -1,8 +1,7 @@ use super::*; use crate::address_map::{FunctionAddressMap, InstructionAddressMap}; -use crate::compilation::{Relocation, RelocationTarget}; +use crate::compilation::{CodeAndJTOffsets, Relocation, RelocationTarget}; use crate::module::{MemoryPlan, MemoryStyle, Module}; -use cranelift_codegen::ir::entities::JumpTable; use cranelift_codegen::{binemit, ir, isa, settings, ValueLocRange}; use cranelift_entity::EntityRef; use cranelift_entity::{PrimaryMap, SecondaryMap}; @@ -10,7 +9,7 @@ use cranelift_wasm::{DefinedFuncIndex, FuncIndex, Global, GlobalInit, Memory, Si use rand::rngs::SmallRng; use rand::{Rng, SeedableRng}; use std::boxed::Box; -use std::cmp::{max, min}; +use std::cmp::min; use std::fs; use std::str::FromStr; use std::vec::Vec; @@ -45,7 +44,7 @@ fn test_write_read_cache() { code_container.resize(0x4000, 0); rng.fill(&mut code_container[..]); - let isa1 = new_isa("riscv64"); + let isa1 = new_isa("riscv64-unknown-unknown"); let isa2 = new_isa("i386"); let module1 = new_module(&mut rng); let module2 = new_module(&mut rng); @@ -264,64 +263,3 @@ impl ModuleCacheEntry { &self.mod_cache_path } } - -// cranelift's types (including SecondaryMap) doesn't implement PartialEq -impl PartialEq for ModuleCacheData { - fn eq(&self, other: &Self) -> bool { - // compilation field - if self.compilation.len() != other.compilation.len() { - return false; - } - - for i in (0..self.compilation.len()).map(DefinedFuncIndex::new) { - let lhs = self.compilation.get(i); - let rhs = other.compilation.get(i); - if lhs.body != rhs.body || lhs.jt_offsets.get_default() != rhs.jt_offsets.get_default() - { - return false; - } - - for j in (0..max(lhs.jt_offsets.len(), rhs.jt_offsets.len())).map(JumpTable::new) { - if lhs.jt_offsets.get(j) != rhs.jt_offsets.get(j) { - return false; - } - } - } - - // relocs - { - if self.relocations.len() != other.relocations.len() { - return false; - } - let it_lhs = self.relocations.iter(); - let it_rhs = other.relocations.iter(); - if it_lhs.zip(it_rhs).any(|(lhs, rhs)| lhs != rhs) { - return false; - } - } - - // debug symbols - { - if self.address_transforms.len() != other.address_transforms.len() { - return false; - } - let it_lhs = self.address_transforms.iter(); - let it_rhs = other.address_transforms.iter(); - if it_lhs.zip(it_rhs).any(|(lhs, rhs)| lhs != rhs) { - return false; - } - } - - true - } -} - -// binemit::Reloc doesn't implement PartialEq -impl PartialEq for Relocation { - fn eq(&self, other: &Self) -> bool { - self.reloc as u64 == other.reloc as u64 - && self.reloc_target == other.reloc_target - && self.offset == other.offset - && self.addend == other.addend - } -} diff --git a/wasmtime-environ/src/compilation.rs b/wasmtime-environ/src/compilation.rs index 27344c2d4d..4d199a86fe 100644 --- a/wasmtime-environ/src/compilation.rs +++ b/wasmtime-environ/src/compilation.rs @@ -12,7 +12,7 @@ use std::ops::Range; use std::vec::Vec; /// Compiled machine code: body and jump table offsets. -#[derive(Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct CodeAndJTOffsets { /// The function body. pub body: Vec, @@ -24,7 +24,7 @@ pub struct CodeAndJTOffsets { type Functions = PrimaryMap; /// The result of compiling a WebAssembly module's functions. -#[derive(Deserialize, Serialize, Debug)] +#[derive(Deserialize, Serialize, Debug, PartialEq, Eq)] pub struct Compilation { /// Compiled machine code for the function bodies. functions: Functions, @@ -95,7 +95,7 @@ impl<'a> Iterator for Iter<'a> { } /// A record of a relocation to perform. -#[derive(Serialize, Deserialize, Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)] pub struct Relocation { /// The relocation code. pub reloc: binemit::Reloc, diff --git a/wasmtime-interface-types/Cargo.toml b/wasmtime-interface-types/Cargo.toml index 42ebd47e38..0017bd6a73 100644 --- a/wasmtime-interface-types/Cargo.toml +++ b/wasmtime-interface-types/Cargo.toml @@ -11,7 +11,7 @@ readme = "README.md" edition = "2018" [dependencies] -cranelift-codegen = "0.40.0" +cranelift-codegen = "0.41.0" failure = "0.1" walrus = "0.11.0" wasmparser = "0.36.0" diff --git a/wasmtime-jit/Cargo.toml b/wasmtime-jit/Cargo.toml index 266c5ed6c2..d69b6c9932 100644 --- a/wasmtime-jit/Cargo.toml +++ b/wasmtime-jit/Cargo.toml @@ -11,10 +11,10 @@ readme = "README.md" edition = "2018" [dependencies] -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" +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.0", features = ["enable-serde"] } +cranelift-frontend = "0.41.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 } diff --git a/wasmtime-obj/Cargo.toml b/wasmtime-obj/Cargo.toml index 969ca54747..702109247e 100644 --- a/wasmtime-obj/Cargo.toml +++ b/wasmtime-obj/Cargo.toml @@ -11,8 +11,8 @@ readme = "README.md" edition = "2018" [dependencies] -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-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 baa36adfa7..df9b489855 100644 --- a/wasmtime-runtime/Cargo.toml +++ b/wasmtime-runtime/Cargo.toml @@ -11,9 +11,9 @@ readme = "README.md" edition = "2018" [dependencies] -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-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 3b39e038d1..8f6d92f62c 100644 --- a/wasmtime-wasi-c/Cargo.toml +++ b/wasmtime-wasi-c/Cargo.toml @@ -12,9 +12,9 @@ readme = "README.md" wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" } wasmtime-jit = { path = "../wasmtime-jit" } -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-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 9ff5293efd..3afc12e78e 100644 --- a/wasmtime-wasi/Cargo.toml +++ b/wasmtime-wasi/Cargo.toml @@ -13,9 +13,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.40.0", features = ["enable-serde"] } -cranelift-entity = { version = "0.40.0", features = ["enable-serde"] } -cranelift-wasm = { version = "0.40.0", features = ["enable-serde"] } +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.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 4bcfd4122c..2939c77c6c 100644 --- a/wasmtime-wast/Cargo.toml +++ b/wasmtime-wast/Cargo.toml @@ -11,9 +11,9 @@ readme = "README.md" edition = "2018" [dependencies] -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"] } +cranelift-codegen = { version = "0.41.0", features = ["enable-serde"] } +cranelift-entity = { version = "0.41.0", features = ["enable-serde"] } +cranelift-wasm = { version = "0.41.0", features = ["enable-serde"] } wasmtime-jit = { path = "../wasmtime-jit" } wasmtime-runtime = { path = "../wasmtime-runtime" } wasmtime-environ = { path = "../wasmtime-environ" }