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§
Trait Implementations§
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> 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)