Struct cranelift_codegen::machinst::abi_impl::ABICallerImpl [−][src]
pub struct ABICallerImpl<M: ABIMachineSpec> { /* fields omitted */ }
Expand description
ABI object for a callsite.
Implementations
impl<M: ABIMachineSpec> ABICallerImpl<M>[src]
impl<M: ABIMachineSpec> ABICallerImpl<M>[src]pub fn from_func(
sig: &Signature,
extname: &ExternalName,
dist: RelocDistance,
caller_conv: CallConv,
flags: &Flags
) -> CodegenResult<ABICallerImpl<M>>[src]
pub fn from_func(
sig: &Signature,
extname: &ExternalName,
dist: RelocDistance,
caller_conv: CallConv,
flags: &Flags
) -> CodegenResult<ABICallerImpl<M>>[src]Create a callsite ABI object for a call directly to the specified function.
pub fn from_ptr(
sig: &Signature,
ptr: Reg,
opcode: Opcode,
caller_conv: CallConv,
flags: &Flags
) -> CodegenResult<ABICallerImpl<M>>[src]
pub fn from_ptr(
sig: &Signature,
ptr: Reg,
opcode: Opcode,
caller_conv: CallConv,
flags: &Flags
) -> CodegenResult<ABICallerImpl<M>>[src]Create a callsite ABI object for a call to a function pointer with the given signature.
Trait Implementations
impl<M: ABIMachineSpec> ABICaller for ABICallerImpl<M>[src]
impl<M: ABIMachineSpec> ABICaller for ABICallerImpl<M>[src]fn accumulate_outgoing_args_size<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]
fn accumulate_outgoing_args_size<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]Accumulate outgoing arguments. This ensures that the caller (as identified via the CTX argument) allocates enough space in the prologue to hold all arguments and return values for this call. There is no code emitted at the call site, everything is done in the caller’s function prologue. Read more
fn emit_stack_pre_adjust<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]
fn emit_stack_pre_adjust<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]Emit code to pre-adjust the stack, prior to argument copies and call.
fn emit_stack_post_adjust<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]
fn emit_stack_post_adjust<C: LowerCtx<I = Self::I>>(&self, ctx: &mut C)[src]Emit code to post-adjust the satck, after call return and return-value copies.
fn emit_copy_regs_to_arg<C: LowerCtx<I = Self::I>>(
&self,
ctx: &mut C,
idx: usize,
from_regs: ValueRegs<Reg>
)[src]
fn emit_copy_regs_to_arg<C: LowerCtx<I = Self::I>>(
&self,
ctx: &mut C,
idx: usize,
from_regs: ValueRegs<Reg>
)[src]Emit a copy of an argument value from a source register, prior to the call.
fn get_copy_to_arg_order(&self) -> SmallVec<[usize; 8]>[src]
fn get_copy_to_arg_order(&self) -> SmallVec<[usize; 8]>[src]Specific order for copying into arguments at callsites. We must be careful to copy into StructArgs first, because we need to be able to invoke memcpy() before we’ve loaded other arg regs (see above). Read more
Auto Trait Implementations
impl<M> RefUnwindSafe for ABICallerImpl<M> where
M: RefUnwindSafe,
M: RefUnwindSafe,
impl<M> Send for ABICallerImpl<M> where
M: Send,
M: Send,
impl<M> Sync for ABICallerImpl<M> where
M: Sync,
M: Sync,
impl<M> Unpin for ABICallerImpl<M> where
M: Unpin,
M: Unpin,
impl<M> UnwindSafe for ABICallerImpl<M> where
M: UnwindSafe,
M: UnwindSafe,