diff --git a/cranelift/codegen/src/binemit/stackmap.rs b/cranelift/codegen/src/binemit/stackmap.rs index 10ae96a7cb..27d87f896f 100644 --- a/cranelift/codegen/src/binemit/stackmap.rs +++ b/cranelift/codegen/src/binemit/stackmap.rs @@ -15,7 +15,8 @@ const NUM_BITS: usize = core::mem::size_of::() * 8; /// The first value in the bitmap is of the lowest addressed slot on the stack. /// As all stacks in Isa's supported by Cranelift grow down, this means that /// first value is of the top of the stack and values proceed down the stack. -#[derive(Clone, Debug)] +#[derive(Clone, Debug, PartialEq, Eq)] +#[cfg_attr(feature = "enable-serde", derive(serde::Deserialize, serde::Serialize))] pub struct Stackmap { bitmap: Vec>, mapped_words: u32, diff --git a/cranelift/codegen/src/bitset.rs b/cranelift/codegen/src/bitset.rs index 8035d80b96..2cb0194b51 100644 --- a/cranelift/codegen/src/bitset.rs +++ b/cranelift/codegen/src/bitset.rs @@ -5,12 +5,14 @@ //! //! If you would like to add support for larger bitsets in the future, you need to change the trait //! bound Into and the u32 in the implementation of `max_bits()`. + use core::convert::{From, Into}; use core::mem::size_of; use core::ops::{Add, BitOr, Shl, Sub}; /// A small bitset built on a single primitive integer type #[derive(Clone, Copy, Debug, PartialEq, Eq)] +#[cfg_attr(feature = "enable-serde", derive(serde::Serialize, serde::Deserialize))] pub struct BitSet(pub T); impl BitSet