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<'a> TryFromCtx<'a, Endian, [u8]> for RoutineConvention[src]
impl<'a> TryFromCtx<'a, Endian, [u8]> for RoutineConvention[src]Auto Trait Implementations
impl RefUnwindSafe for RoutineConvention
impl RefUnwindSafe for RoutineConventionimpl Send for RoutineConvention
impl Send for RoutineConventionimpl Sync for RoutineConvention
impl Sync for RoutineConventionimpl Unpin for RoutineConvention
impl Unpin for RoutineConventionimpl UnwindSafe for RoutineConvention
impl UnwindSafe for RoutineConvention