Struct wasmer_vm::SignatureRegistry
source · [−]pub struct SignatureRegistry { /* private fields */ }
Expand description
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
sourceimpl SignatureRegistry
impl SignatureRegistry
sourcepub fn register(&self, sig: &FunctionType) -> VMSharedSignatureIndex
pub fn register(&self, sig: &FunctionType) -> VMSharedSignatureIndex
Register a signature and return its unique index.
sourcepub fn lookup(&self, idx: VMSharedSignatureIndex) -> Option<FunctionType>
pub fn lookup(&self, idx: VMSharedSignatureIndex) -> Option<FunctionType>
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
sourceimpl Debug for SignatureRegistry
impl Debug for SignatureRegistry
sourceimpl MemoryUsage for SignatureRegistry
impl MemoryUsage for SignatureRegistry
sourcefn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
fn size_of_val(&self, visited: &mut dyn MemoryUsageTracker) -> usize
Returns the size of the referenced value in bytes. Read more
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> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for F where
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize(
&self,
deserializer: &mut D
) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
sourceimpl<T> Upcastable for T where
T: 'static + Any + Send + Sync,
impl<T> Upcastable for T where
T: 'static + Any + Send + Sync,
sourcefn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
sourcefn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref