pub enum Slot {
Agg(u32),
Other,
}Expand description
Abstract value at a stack or local slot during the analysis.
Variants§
Agg(u32)
Holds the stack-allocatable aggregate (a record from
Op::MakeRecord or a tuple from Op::MakeTuple) allocated at
this pc. As long as every consumer reads this slot via a field
/ element read (GetField / GetElem), Pop, or a
StoreLocal/LoadLocal round-trip, the site stays a
stack-alloc candidate. The escape rules are identical for both
aggregate kinds — only the codegen opcode differs — so the
analysis tracks them with one variant keyed on the alloc pc.
Other
Anything else — primitives, already-escaped aggregates, values produced by ops we don’t model precisely. Treated as not-a-tracked-aggregate for escape purposes.
Trait Implementations§
impl Copy for Slot
impl Eq for Slot
impl StructuralPartialEq for Slot
Auto Trait Implementations§
impl Freeze for Slot
impl RefUnwindSafe for Slot
impl Send for Slot
impl Sync for Slot
impl Unpin for Slot
impl UnsafeUnpin for Slot
impl UnwindSafe for Slot
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
Mutably borrows from an owned value. Read more
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
Compare self to
key and return true if they are equal.