pub struct FrameSlotDesc {
pub offset: u32,
pub width_bits: u32,
pub repr: FrameSlot,
pub source: FrameSlotSource,
pub cell: bool,
pub captured: bool,
}Expand description
One frame slot’s compile-time layout entry (PR-025, PR-026).
Deviation from the plan’s literal field list ({offset, width_bits, source}, no repr): the ledger’s own PR-025/PR-026 text asks for a
repr: FourStateI2N | WideFourState tag per slot, and process:: FrameSlot (already committed, Narrow4State{word_count} /
Wide4State{aval_word_count, bval_word_count}) is exactly that shape –
reused here rather than re-declared, so there is exactly one “frame
slot’s physical shape” enum in this crate, not two.
Fields§
§offset: u32Word offset within the process TEMPLATE’s frame (PR-024: decided once
per template, at lowering-plan build time – never per instance).
Units match repr’s own word-count field (a private, per-FrameLayout
bump allocation – see compute_liveness’s doc comment on why this
is deliberately not state::arena::Arena-allocated).
width_bits: u32The signal’s real, untruncated bit width (CG-100: never a u16-
clamped or otherwise narrowed copy – see
declared_local_width_is_never_truncated_even_at_the_64_bit_boundary).
repr: FrameSlot§source: FrameSlotSource§cell: boolA variable shared with a fork branch (ProcessCfg::captured): the
slot is one word, a pointer to the cell holding the value (repr is
the value’s shape).
captured: boolA cell variable of the process that forked this one (never initialized here: it arrives with the parent’s pointer).
Trait Implementations§
Source§impl Clone for FrameSlotDesc
impl Clone for FrameSlotDesc
Source§impl Debug for FrameSlotDesc
impl Debug for FrameSlotDesc
impl Eq for FrameSlotDesc
Source§impl PartialEq for FrameSlotDesc
impl PartialEq for FrameSlotDesc
impl StructuralPartialEq for FrameSlotDesc
Auto Trait Implementations§
impl Freeze for FrameSlotDesc
impl RefUnwindSafe for FrameSlotDesc
impl Send for FrameSlotDesc
impl Sync for FrameSlotDesc
impl Unpin for FrameSlotDesc
impl UnsafeUnpin for FrameSlotDesc
impl UnwindSafe for FrameSlotDesc
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.