Struct falcon::analysis::calling_convention::CallingConvention [−][src]
pub struct CallingConvention { /* fields omitted */ }
Represents the calling convention of a particular platform.
Methods
impl CallingConvention
[src]
impl CallingConvention
pub fn new(typ: CallingConventionType) -> CallingConvention
[src]
pub fn new(typ: CallingConventionType) -> CallingConvention
Create a new CallingConvention
based on the given
CallingConventionType
.
pub fn argument_registers(&self) -> &[Scalar]
[src]
pub fn argument_registers(&self) -> &[Scalar]
Get the registers the first n arguments are passed in.
pub fn preserved_registers(&self) -> &HashSet<Scalar>
[src]
pub fn preserved_registers(&self) -> &HashSet<Scalar>
Get the registers preserved across function calls.
pub fn trashed_registers(&self) -> &HashSet<Scalar>
[src]
pub fn trashed_registers(&self) -> &HashSet<Scalar>
Get the registers trashed across function calls.
pub fn stack_argument_length(&self) -> usize
[src]
pub fn stack_argument_length(&self) -> usize
Get the length of an argument on the stack in bytes, not bits.
We would expect this to be natural register-width of the architecture.
pub fn stack_argument_offset(&self) -> usize
[src]
pub fn stack_argument_offset(&self) -> usize
Get the stack offset to the first argument passed on the stack in bytes, not bits.
We would expect this to be immediately above the return address, if the return address is stored on the stack.
pub fn return_address_type(&self) -> &ReturnAddressType
[src]
pub fn return_address_type(&self) -> &ReturnAddressType
How the return address is specified for function calls.
pub fn return_register(&self) -> &Scalar
[src]
pub fn return_register(&self) -> &Scalar
The register returned values is given in.
pub fn argument_type(&self, argument_number: usize) -> ArgumentType
[src]
pub fn argument_type(&self, argument_number: usize) -> ArgumentType
Get the type for the given argument, starting with 0 index.
pub fn is_preserved(&self, scalar: &Scalar) -> Option<bool>
[src]
pub fn is_preserved(&self, scalar: &Scalar) -> Option<bool>
Is the given register preserved.
pub fn is_trashed(&self, scalar: &Scalar) -> Option<bool>
[src]
pub fn is_trashed(&self, scalar: &Scalar) -> Option<bool>
Is the given register trashed.
Trait Implementations
impl Clone for CallingConvention
[src]
impl Clone for CallingConvention
fn clone(&self) -> CallingConvention
[src]
fn clone(&self) -> CallingConvention
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for CallingConvention
[src]
impl Debug for CallingConvention
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Eq for CallingConvention
[src]
impl Eq for CallingConvention
impl PartialEq for CallingConvention
[src]
impl PartialEq for CallingConvention
fn eq(&self, other: &CallingConvention) -> bool
[src]
fn eq(&self, other: &CallingConvention) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &CallingConvention) -> bool
[src]
fn ne(&self, other: &CallingConvention) -> bool
This method tests for !=
.
Auto Trait Implementations
impl Send for CallingConvention
impl Send for CallingConvention
impl Sync for CallingConvention
impl Sync for CallingConvention