Sha256: c7684e75ef035aa0d6e79d74be5c93142b7d5800ef4b05c3a8198cf8e5761cca
Contents?: true
Size: 1.02 KB
Versions: 24
Compression:
Stored size: 1.02 KB
Contents
use crate::ir::ValueLabel; use crate::machinst::Reg; use crate::HashMap; use alloc::vec::Vec; #[cfg(feature = "enable-serde")] use serde_derive::{Deserialize, Serialize}; /// Value location range. #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))] pub struct ValueLocRange { /// The ValueLoc containing a ValueLabel during this range. pub loc: LabelValueLoc, /// The start of the range. It is an offset in the generated code. pub start: u32, /// The end of the range. It is an offset in the generated code. pub end: u32, } /// The particular location for a value. #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[cfg_attr(feature = "enable-serde", derive(Serialize, Deserialize))] pub enum LabelValueLoc { /// Register. Reg(Reg), /// Offset from the Canonical Frame Address (aka CFA). CFAOffset(i64), } /// Resulting map of Value labels and their ranges/locations. pub type ValueLabelsRanges = HashMap<ValueLabel, Vec<ValueLocRange>>;
Version data entries
24 entries across 24 versions & 1 rubygems