cranelift_codegen

Struct CallInfo

Source
pub struct CallInfo<T> {
    pub dest: T,
    pub uses: SmallVec<[CallArgPair; 8]>,
    pub defs: SmallVec<[CallRetPair; 8]>,
    pub clobbers: PRegSet,
    pub callee_conv: CallConv,
    pub caller_conv: CallConv,
    pub callee_pop_size: u32,
}
Expand description

Out-of-line data for calls, to keep the size of Inst down.

Fields§

§dest: T

Receiver of this call

§uses: SmallVec<[CallArgPair; 8]>

Register uses of this call.

§defs: SmallVec<[CallRetPair; 8]>

Register defs of this call.

§clobbers: PRegSet

Registers clobbered by this call, as per its calling convention.

§callee_conv: CallConv

The calling convention of the callee.

§caller_conv: CallConv

The calling convention of the caller.

§callee_pop_size: u32

The number of bytes that the callee will pop from the stack for the caller, if any. (Used for popping stack arguments with the tail calling convention.)

Implementations§

Source§

impl<T> CallInfo<T>

Source

pub fn empty(dest: T, call_conv: CallConv) -> CallInfo<T>

Creates an empty set of info with no clobbers/uses/etc with the specified ABI

Source

pub fn map<U>(self, f: impl FnOnce(T) -> U) -> CallInfo<U>

Change the T payload on this info to U.

Trait Implementations§

Source§

impl<T: Clone> Clone for CallInfo<T>

Source§

fn clone(&self) -> CallInfo<T>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<T: Debug> Debug for CallInfo<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<T> Freeze for CallInfo<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for CallInfo<T>
where T: RefUnwindSafe,

§

impl<T> Send for CallInfo<T>
where T: Send,

§

impl<T> Sync for CallInfo<T>
where T: Sync,

§

impl<T> Unpin for CallInfo<T>
where T: Unpin,

§

impl<T> UnwindSafe for CallInfo<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.