pub struct RoutineConvention {
pub volatile_registers: Vec<RegisterDesc>,
pub param_registers: Vec<RegisterDesc>,
pub retval_registers: Vec<RegisterDesc>,
pub frame_register: RegisterDesc,
pub shadow_space: u64,
pub purge_stack: bool,
}
Expand description
Routine calling convention information and associated metadata
Fields§
§volatile_registers: Vec<RegisterDesc>
List of registers that may change as a result of the routine execution but will be considered trashed
param_registers: Vec<RegisterDesc>
List of regsiters that this routine wlil read from as a way of taking arguments
- Additional arguments will be passed at
[$sp + shadow_space + n * 8]
retval_registers: Vec<RegisterDesc>
List of registers that are used to store the return value of the routine and thus will change during routine execution but must be considered “used” by return
frame_register: RegisterDesc
Register that is generally used to store the stack frame if relevant
shadow_space: u64
Size of the shadow space
purge_stack: bool
Purges any writes to stack that will be end up below the final stack pointer
Trait Implementations§
Source§impl Clone for RoutineConvention
impl Clone for RoutineConvention
Source§fn clone(&self) -> RoutineConvention
fn clone(&self) -> RoutineConvention
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for RoutineConvention
impl Debug for RoutineConvention
Source§impl SizeWith<RoutineConvention> for RoutineConvention
impl SizeWith<RoutineConvention> for RoutineConvention
fn size_with(routine_convention: &RoutineConvention) -> usize
Source§impl TryFromCtx<'_, Endian> for RoutineConvention
impl TryFromCtx<'_, Endian> for RoutineConvention
Source§impl TryIntoCtx<Endian> for RoutineConvention
impl TryIntoCtx<Endian> for RoutineConvention
Auto Trait Implementations§
impl Freeze for RoutineConvention
impl RefUnwindSafe for RoutineConvention
impl Send for RoutineConvention
impl Sync for RoutineConvention
impl Unpin for RoutineConvention
impl UnwindSafe for RoutineConvention
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