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,
pub try_call_info: Option<TryCallInfo>,
}
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.)
try_call_info: Option<TryCallInfo>
Information for a try-call, if this is one. We combine handling of calls and try-calls as much as possible to share argument/return logic; they mostly differ in the metadata that they emit, which this information feeds into.
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