[]Struct cranelift::prelude::StackSlotData

pub struct StackSlotData {
    pub kind: StackSlotKind,
    pub size: u32,
    pub offset: Option<i32>,
}

Contents of a stack slot.

Fields

kind: StackSlotKind

The kind of stack slot.

size: u32

Size of stack slot in bytes.

offset: Option<i32>

Offset of stack slot relative to the stack pointer in the caller.

On x86, the base address is the stack pointer before the return address was pushed. On RISC ISAs, the base address is the value of the stack pointer on entry to the function.

For OutgoingArg stack slots, the offset is relative to the current function's stack pointer immediately before the call.

Methods

impl StackSlotData

pub fn new(kind: StackSlotKind, size: u32) -> StackSlotData

Create a stack slot with the specified byte size.

pub fn alignment(&self, max_align: u32) -> u32

Get the alignment in bytes of this stack slot given the stack pointer alignment.

Trait Implementations

impl Clone for StackSlotData

impl Debug for StackSlotData

impl Display for StackSlotData

impl Eq for StackSlotData

impl PartialEq<StackSlotData> for StackSlotData

impl StructuralEq for StackSlotData

impl StructuralPartialEq for StackSlotData

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.