pub struct StackSlots {
pub frame_size: Option<StackSize>,
// some fields omitted
}Stack frame manager.
Keep track of all the stack slots used by a function.
The total size of the stack frame.
This is the distance from the stack pointer in the current function to the stack pointer in
the calling function, so it includes a pushed return address as well as space for outgoing
call arguments.
This is computed by the layout() method.
Stack slot manager functions that behave mostly like an entity map.
Create an empty stack slot manager.
Allocate a new stack slot.
This function should be primarily used by the text format parser. There are more convenient
functions for creating specific kinds of stack slots below.
Check if ss is a valid stack slot reference.
Set the offset of a stack slot.
Get an iterator over all the stack slot keys.
Get an iterator over all the stack slot keys, mutable edition.
Get an iterator over all the stack slot records.
Get an iterator over all the stack slot records, mutable edition.
Get an iterator over all the stack slot keys.
Get a reference to the next stack slot that would be created by push().
This should just be used by the parser.
Higher-level stack frame manipulation functions.
Create a new spill slot for spilling values of type ty.
Create a stack slot representing an incoming function argument.
Get a stack slot representing an outgoing argument.
This may create a new stack slot, or reuse an existing outgoing stack slot with the
requested offset and size.
The requested offset is relative to this function's stack pointer immediately before making
the call.
Get an emergency spill slot that can be used to store a ty value.
This may allocate a new slot, or it may reuse an existing emergency spill slot, excluding
any slots in the in_use list.
Formats the value using the given formatter. Read more
The returned type after indexing.
Performs the indexing (container[index]) operation.
Performs the mutable indexing (container[index]) operation.
Performs copy-assignment from source. Read more
🔬 This is a nightly-only experimental API. (try_from)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from)
🔬 This is a nightly-only experimental API. (try_from)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more