Struct vtil_parser::RoutineConvention [−][src]
pub struct RoutineConvention {
pub volatile_registers: Vec<Reg>,
pub param_registers: Vec<Reg>,
pub retval_registers: Vec<Reg>,
pub frame_register: Reg,
pub shadow_space: u64,
pub purge_stack: bool,
}Routine calling convention information and associated metadata
Fields
volatile_registers: Vec<Reg>List of registers that may change as a result of the routine execution but will be considered trashed
param_registers: Vec<Reg>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<Reg>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: RegRegister 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 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]