Enum wasmtime_environ::ir::LibCall [−][src]
pub enum LibCall {}Show variants
Probestack, UdivI64, SdivI64, UremI64, SremI64, IshlI64, UshrI64, SshrI64, CeilF32, CeilF64, FloorF32, FloorF64, TruncF32, TruncF64, NearestF32, NearestF64, Memcpy, Memset, Memmove, ElfTlsGetAddr,
Expand description
The name of a runtime library routine.
Runtime library calls are generated for Cranelift IR instructions that don’t have an equivalent
ISA instruction or an easy macro expansion. A LibCall
is used as a well-known name to refer to
the runtime library routine. This way, Cranelift doesn’t have to know about the naming
convention in the embedding VM’s runtime library.
This list is likely to grow over time.
Variants
probe for stack overflow. These are emitted for functions which need
when the enable_probestack
setting is true.
udiv.i64
sdiv.i64
urem.i64
srem.i64
ishl.i64
ushr.i64
sshr.i64
ceil.f32
ceil.f64
floor.f32
floor.f64
trunc.f32
frunc.f64
nearest.f32
nearest.f64
libc.memcpy
libc.memset
libc.memmove
Elf __tls_get_addr
Implementations
impl LibCall
[src]
impl LibCall
[src]pub fn for_inst(opcode: Opcode, ctrl_type: Type) -> Option<LibCall>
[src]
pub fn for_inst(opcode: Opcode, ctrl_type: Type) -> Option<LibCall>
[src]Get the well-known library call name to use as a replacement for an instruction with the given opcode and controlling type variable.
Returns None
if no well-known library routine name exists for that instruction.
pub fn all_libcalls() -> &'static [LibCall]
[src]
pub fn all_libcalls() -> &'static [LibCall]
[src]Get a list of all known LibCall
’s.
Trait Implementations
impl<'de> Deserialize<'de> for LibCall
[src]
impl<'de> Deserialize<'de> for LibCall
[src]pub fn deserialize<__D>(
__deserializer: __D
) -> Result<LibCall, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]
pub fn deserialize<__D>(
__deserializer: __D
) -> Result<LibCall, <__D as Deserializer<'de>>::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Serialize for LibCall
[src]
impl Serialize for LibCall
[src]pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]
pub fn serialize<__S>(
&self,
__serializer: __S
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error> where
__S: Serializer,
[src]Serialize this value into the given Serde serializer. Read more
impl Copy for LibCall
[src]
impl Eq for LibCall
[src]
impl StructuralEq for LibCall
[src]
impl StructuralPartialEq for LibCall
[src]
Auto Trait Implementations
impl RefUnwindSafe for LibCall
impl Send for LibCall
impl Sync for LibCall
impl Unpin for LibCall
impl UnwindSafe for LibCall
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,