pub trait CallingConvention {
// Required methods
fn get_parameter_register(param_index: usize) -> Option<u16>;
fn max_register_parameters() -> usize;
fn skip_prologue<R: CodeReader>(
function_start: u64,
code_reader: &R,
) -> Result<u64, PlatformError>;
// Provided method
fn is_in_prologue<R: CodeReader>(
pc: u64,
function_start: u64,
code_reader: &R,
) -> bool { ... }
}Expand description
Platform-specific calling convention and prologue analysis
Required Methods§
Sourcefn get_parameter_register(param_index: usize) -> Option<u16>
fn get_parameter_register(param_index: usize) -> Option<u16>
Get the register number for a parameter at the given index
Sourcefn max_register_parameters() -> usize
fn max_register_parameters() -> usize
Maximum number of parameters passed in registers
Sourcefn skip_prologue<R: CodeReader>(
function_start: u64,
code_reader: &R,
) -> Result<u64, PlatformError>
fn skip_prologue<R: CodeReader>( function_start: u64, code_reader: &R, ) -> Result<u64, PlatformError>
Skip function prologue and return the address where the function body starts
Provided Methods§
Sourcefn is_in_prologue<R: CodeReader>(
pc: u64,
function_start: u64,
code_reader: &R,
) -> bool
fn is_in_prologue<R: CodeReader>( pc: u64, function_start: u64, code_reader: &R, ) -> bool
Check if we’re currently in the function prologue
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".