pub struct CallingConvention {
pub name: String,
pub integer_parameter_register: Vec<Variable>,
pub float_parameter_register: Vec<Expression>,
pub integer_return_register: Vec<Variable>,
pub float_return_register: Vec<Expression>,
pub callee_saved_register: Vec<Variable>,
}
Expand description
Calling convention related data
Fields§
§name: String
The name of the calling convention
integer_parameter_register: Vec<Variable>
Possible integer parameter registers.
float_parameter_register: Vec<Expression>
Possible float parameter registers. Given as expressions, since they are usually sub-register of larger floating point registers.
integer_return_register: Vec<Variable>
A list of possible return register for non-float values.
float_return_register: Vec<Expression>
A list of possible return register for float values. Given as expressions, since they are usually sub-register of larger floating point registers.
callee_saved_register: Vec<Variable>
A list of callee-saved register, i.e. the values of these registers should be the same after the call as they were before the call.
Implementations§
source§impl CallingConvention
impl CallingConvention
sourcepub fn get_all_parameter_register(&self) -> Vec<&Variable>
pub fn get_all_parameter_register(&self) -> Vec<&Variable>
Return a list of all parameter registers of the calling convention. For parameters, where only a part of a register is the actual parameter, the parameter register is approximated by the (larger) base register.
sourcepub fn get_all_return_register(&self) -> Vec<&Variable>
pub fn get_all_return_register(&self) -> Vec<&Variable>
Return a list of all return registers of the calling convention. For return register, where only a part of a register is the actual return register, the return register is approximated by the (larger) base register.
Trait Implementations§
source§impl Clone for CallingConvention
impl Clone for CallingConvention
source§fn clone(&self) -> CallingConvention
fn clone(&self) -> CallingConvention
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for CallingConvention
impl Debug for CallingConvention
source§impl<'de> Deserialize<'de> for CallingConvention
impl<'de> Deserialize<'de> for CallingConvention
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Hash for CallingConvention
impl Hash for CallingConvention
source§impl PartialEq for CallingConvention
impl PartialEq for CallingConvention
source§fn eq(&self, other: &CallingConvention) -> bool
fn eq(&self, other: &CallingConvention) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for CallingConvention
impl Serialize for CallingConvention
impl Eq for CallingConvention
impl StructuralEq for CallingConvention
impl StructuralPartialEq for CallingConvention
Auto Trait Implementations§
impl RefUnwindSafe for CallingConvention
impl Send for CallingConvention
impl Sync for CallingConvention
impl Unpin for CallingConvention
impl UnwindSafe for CallingConvention
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.