Struct wasmtime_runtime::SignatureRegistry [−][src]
WebAssembly requires that the caller and callee signatures in an indirect call must match. To implement this efficiently, keep a registry of all signatures, shared by all instances, so that call sites can just do an index comparison.
Implementations
impl SignatureRegistry[src]
pub fn register(
    &mut self, 
    wasm: WasmFuncType, 
    native: Signature
) -> VMSharedSignatureIndex[src]
&mut self,
wasm: WasmFuncType,
native: Signature
) -> VMSharedSignatureIndex
Register a signature and return its unique index.
pub fn lookup_native(&self, idx: VMSharedSignatureIndex) -> Option<Signature>[src]
Looks up a shared native signature within this registry.
Note that for this operation to be semantically correct the idx must
have previously come from a call to register of this same object.
pub fn lookup_wasm(&self, idx: VMSharedSignatureIndex) -> Option<WasmFuncType>[src]
Looks up a shared Wasm signature within this registry.
Note that for this operation to be semantically correct the idx must
have previously come from a call to register of this same object.
pub fn lookup_wasm_and_native_signatures(
    &self, 
    idx: VMSharedSignatureIndex
) -> Option<(WasmFuncType, Signature)>[src]
&self,
idx: VMSharedSignatureIndex
) -> Option<(WasmFuncType, Signature)>
Looks up both a shared Wasm function signature and its associated native
ir::Signature within this registry.
Note that for this operation to be semantically correct the idx must
have previously come from a call to register of this same object.
Trait Implementations
impl Debug for SignatureRegistry[src]
impl Default for SignatureRegistry[src]
fn default() -> SignatureRegistry[src]
Auto Trait Implementations
impl RefUnwindSafe for SignatureRegistry
impl Send for SignatureRegistry
impl Sync for SignatureRegistry
impl Unpin for SignatureRegistry
impl UnwindSafe for SignatureRegistry
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,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
    U: From<T>, [src]
U: From<T>,
impl<T> Pointable for T[src]
pub const ALIGN: usize[src]
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize[src]
pub unsafe fn deref<'a>(ptr: usize) -> &'a T[src]
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T[src]
pub unsafe fn drop(ptr: usize)[src]
impl<T> Same<T> for T[src]
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
    U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, [src]
U: TryFrom<T>,