Skip to main content

CallingConvention

Trait CallingConvention 

Source
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§

Source

fn get_parameter_register(param_index: usize) -> Option<u16>

Get the register number for a parameter at the given index

Source

fn max_register_parameters() -> usize

Maximum number of parameters passed in registers

Source

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§

Source

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".

Implementors§