Struct wasmtime_environ::ir::AbiParam [−][src]
Function parameter or return value descriptor.
This describes the value type being passed to or from a function along with flags that affect how the argument is passed.
Fields
value_type: Type
Type of the argument value.
purpose: ArgumentPurpose
Special purpose of argument, or Normal
.
extension: ArgumentExtension
Method for extending argument to a full register.
location: ArgumentLoc
ABI-specific location of this argument, or Unassigned
for arguments that have not yet
been legalized.
legalized_to_pointer: bool
Was the argument converted to pointer during legalization?
Implementations
impl AbiParam
[src][−]
pub fn new(vt: Type) -> AbiParam
[src][−]
Create a parameter with default flags.
pub fn special(vt: Type, purpose: ArgumentPurpose) -> AbiParam
[src][−]
Create a special-purpose parameter that is not (yet) bound to a specific register.
pub fn special_reg(vt: Type, purpose: ArgumentPurpose, regunit: u16) -> AbiParam
[src][−]
Create a parameter for a special-purpose register.
pub fn uext(self) -> AbiParam
[src][−]
Convert self
to a parameter with the uext
flag set.
pub fn sext(self) -> AbiParam
[src][−]
Convert self
to a parameter type with the sext
flag set.
pub fn display<'a, R>(&'a self, regs: R) -> DisplayAbiParam<'a> where
R: Into<Option<&'a RegInfo>>,
[src][−]
R: Into<Option<&'a RegInfo>>,
Return an object that can display self
with correct register names.
Trait Implementations
impl Clone for AbiParam
[src][+]
impl Copy for AbiParam
[src]
impl Debug for AbiParam
[src][+]
impl<'de> Deserialize<'de> for AbiParam
[src][+]
impl Display for AbiParam
[src][+]
impl Eq for AbiParam
[src]
impl Hash for AbiParam
[src][+]
impl PartialEq<AbiParam> for AbiParam
[src][+]
impl Serialize for AbiParam
[src][+]
impl StructuralEq for AbiParam
[src]
impl StructuralPartialEq for AbiParam
[src]
Auto Trait Implementations
impl RefUnwindSafe for AbiParam
impl Send for AbiParam
impl Sync for AbiParam
impl Unpin for AbiParam
impl UnwindSafe for AbiParam
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> CallHasher for T where
T: Hash,
[src][+]
T: Hash,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src][+]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,