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", so this trait is not object safe.

Implementors§