pub struct Layout<'a> {
pub conv: &'a CallRegs,
pub file: RegFile,
pub locals: &'a [Local],
pub outgoing: u32,
pub leaf: bool,
pub frame_pointer: bool,
pub red_zone: bool,
}Expand description
Everything about a function’s frame that does not come out of its allocation.
Fields§
§conv: &'a CallRegsWhere the convention this function is compiled for puts things.
file: RegFileThe registers the target has, which is what says how wide a spill slot of a class is.
locals: &'a [Local]The memory the function asked for itself, in the order it wants it reported back.
outgoing: u32How many bytes the widest call in the function needs for arguments it passes on the stack.
leaf: boolWhether the function calls nothing, which is what the alignment and the red zone turn on.
frame_pointer: boolWhether the function keeps a frame pointer, which -fno-omit-frame-pointer asks for and
which a realigned or a dynamically grown frame requires whatever the flags say.
red_zone: boolWhether the red zone may be used at all, which -mno-red-zone and every kernel turns off.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'a> Freeze for Layout<'a>
impl<'a> RefUnwindSafe for Layout<'a>
impl<'a> Send for Layout<'a>
impl<'a> Sync for Layout<'a>
impl<'a> Unpin for Layout<'a>
impl<'a> UnsafeUnpin for Layout<'a>
impl<'a> UnwindSafe for Layout<'a>
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