Struct wasmtime_environ::ir::StackSlots [−][src]
pub struct StackSlots { pub layout_info: Option<StackLayoutInfo>, // some fields omitted }
Expand description
Stack frame manager.
Keep track of all the stack slots used by a function.
Fields
layout_info: Option<StackLayoutInfo>
Layout information computed from layout_stack
.
Implementations
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.
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.
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.
pub fn get_emergency_slot(
&mut self,
ty: Type,
in_use: &[PackedOption<StackSlot>]
) -> StackSlot
[src]
pub fn get_emergency_slot(
&mut self,
ty: Type,
in_use: &[PackedOption<StackSlot>]
) -> StackSlot
[src]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.
Trait Implementations
Returns the “default value” for a type. Read more
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<StackSlots, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<StackSlots, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
type Output = StackSlotData
type Output = StackSlotData
The returned type after indexing.
Performs the indexing (container[index]
) operation. Read more
Performs the mutable indexing (container[index]
) operation. Read more
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations
impl RefUnwindSafe for StackSlots
impl Send for StackSlots
impl Sync for StackSlots
impl Unpin for StackSlots
impl UnwindSafe for StackSlots
Blanket Implementations
Mutably borrows from an owned value. Read more
Compare self to key
and return true
if they are equal.