Struct wasmer_vm::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 new() -> Self
[src]
Create a new SignatureRegistry
.
pub fn register(&self, sig: &FunctionType) -> VMSharedSignatureIndex
[src]
Register a signature and return its unique index.
pub fn lookup(&self, idx: VMSharedSignatureIndex) -> Option<FunctionType>
[src]
Looks up a shared signature index 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
Auto Trait Implementations
impl RefUnwindSafe for SignatureRegistry
[src]
impl Send for SignatureRegistry
[src]
impl Sync for SignatureRegistry
[src]
impl Unpin for SignatureRegistry
[src]
impl UnwindSafe for SignatureRegistry
[src]
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, 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>,