pub struct ConventionBuilder<A: Architecture> { /* private fields */ }Expand description
A builder for a calling convention defined entirely by its register sets and flags.
Conventions built this way use the core’s default behavior for parameter and return value
placement. Override the CallingConvention trait directly if you need custom layout logic.
Implementations§
Source§impl<A: Architecture> ConventionBuilder<A>
impl<A: Architecture> ConventionBuilder<A>
pub fn new(arch: &A) -> Self
pub fn caller_saved_registers(self, regs: &[&str]) -> Self
pub fn callee_saved_registers(self, regs: &[&str]) -> Self
pub fn int_arg_registers(self, regs: &[&str]) -> Self
pub fn float_arg_registers(self, regs: &[&str]) -> Self
pub fn required_argument_registers(self, regs: &[&str]) -> Self
pub fn required_clobbered_registers(self, regs: &[&str]) -> Self
pub fn reserved_stack_space_for_arg_registers(self, val: bool) -> Self
pub fn stack_adjusted_on_return(self, val: bool) -> Self
pub fn is_eligible_for_heuristics(self, val: bool) -> Self
pub fn return_int_reg(self, reg: &str) -> Self
pub fn return_hi_int_reg(self, reg: &str) -> Self
pub fn return_float_reg(self, reg: &str) -> Self
Sourcepub fn global_pointer_reg(self, reg: &str) -> Self
pub fn global_pointer_reg(self, reg: &str) -> Self
Deprecated. Use Self::global_pointer_regs instead.
pub fn global_pointer_regs(self, regs: &[&str]) -> Self
pub fn implicitly_defined_registers(self, regs: &[&str]) -> Self
pub fn are_argument_registers_used_for_var_args(self, val: bool) -> Self
pub fn are_stack_arguments_naturally_aligned(self, val: bool) -> Self
pub fn are_stack_arguments_pushed_left_to_right(self, val: bool) -> Self
pub fn is_non_register_argument_indirect(self, val: bool) -> Self
pub fn indirect_return_value_location(self, var: Variable) -> Self
pub fn returned_indirect_return_value_pointer(self, var: Variable) -> Self
pub fn register(self, name: &str) -> Ref<CoreCallingConvention>
Auto Trait Implementations§
impl<A> Freeze for ConventionBuilder<A>
impl<A> RefUnwindSafe for ConventionBuilder<A>
impl<A> !Send for ConventionBuilder<A>
impl<A> !Sync for ConventionBuilder<A>
impl<A> Unpin for ConventionBuilder<A>
impl<A> UnwindSafe for ConventionBuilder<A>
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
Mutably borrows from an owned value. Read more