pub type SubroutineConvention = RoutineConvention;Expand description
Alias for RoutineConvention for consistent naming
Aliased Type§
pub struct SubroutineConvention {
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,
}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