Struct vtil_parser::RoutineConvention [−][src]
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,
}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: RegisterDescRegister that is generally used to store the stack frame if relevant
shadow_space: u64Size of the shadow space
purge_stack: boolPurges any writes to stack that will be end up below the final stack pointer
Trait Implementations
impl Clone for RoutineConvention[src]
impl Clone for RoutineConvention[src]fn clone(&self) -> RoutineConvention[src]
fn clone(&self) -> RoutineConvention[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]Performs copy-assignment from source. Read more
impl Debug for RoutineConvention[src]
impl Debug for RoutineConvention[src]impl SizeWith<RoutineConvention> for RoutineConvention[src]
impl SizeWith<RoutineConvention> for RoutineConvention[src]fn size_with(routine_convention: &RoutineConvention) -> usize[src]
impl TryFromCtx<'_, Endian, [u8]> for RoutineConvention[src]
impl TryFromCtx<'_, Endian, [u8]> for RoutineConvention[src]Auto Trait Implementations
impl RefUnwindSafe for RoutineConvention
impl Send for RoutineConvention
impl Sync for RoutineConvention
impl Unpin for RoutineConvention
impl UnwindSafe for RoutineConvention
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
pub fn to_owned(&self) -> T[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)[src]
pub fn clone_into(&self, target: &mut T)[src]🔬 This is a nightly-only experimental API. (toowned_clone_into)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more