pub enum ExternSlot {
Reg(VarnodeId, usize),
Stack {
offset: i64,
size: usize,
},
}Expand description
Where one external call argument is loaded from at the call site.
Planned once by external_sigs from the C prototype + calling convention;
consumed by argpromote_external, which turns each slot into an SSA value at
every direct caller (a register reload or an SP-relative stack load).
Variants§
Reg(VarnodeId, usize)
A register argument: reload the register (size bytes) live at the call.
Stack
A stack argument at offset bytes above the call-site stack pointer.
Trait Implementations§
Source§impl Clone for ExternSlot
impl Clone for ExternSlot
Source§fn clone(&self) -> ExternSlot
fn clone(&self) -> ExternSlot
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for ExternSlot
Source§impl Debug for ExternSlot
impl Debug for ExternSlot
Source§impl<'de> Deserialize<'de> for ExternSlot
impl<'de> Deserialize<'de> for ExternSlot
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for ExternSlot
Source§impl PartialEq for ExternSlot
impl PartialEq for ExternSlot
Source§impl Serialize for ExternSlot
impl Serialize for ExternSlot
impl StructuralPartialEq for ExternSlot
Auto Trait Implementations§
impl Freeze for ExternSlot
impl RefUnwindSafe for ExternSlot
impl Send for ExternSlot
impl Sync for ExternSlot
impl Unpin for ExternSlot
impl UnsafeUnpin for ExternSlot
impl UnwindSafe for ExternSlot
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