wasmparser

Enum CanonicalFunction

Source
pub enum CanonicalFunction {
Show 37 variants Lift { core_func_index: u32, type_index: u32, options: Box<[CanonicalOption]>, }, Lower { func_index: u32, options: Box<[CanonicalOption]>, }, ResourceNew { resource: u32, }, ResourceDrop { resource: u32, }, ResourceDropAsync { resource: u32, }, ResourceRep { resource: u32, }, ThreadSpawnRef { func_ty_index: u32, }, ThreadSpawnIndirect { func_ty_index: u32, table_index: u32, }, ThreadAvailableParallelism, BackpressureSet, TaskReturn { result: Option<ComponentValType>, options: Box<[CanonicalOption]>, }, ContextGet(u32), ContextSet(u32), Yield { async_: bool, }, SubtaskDrop, StreamNew { ty: u32, }, StreamRead { ty: u32, options: Box<[CanonicalOption]>, }, StreamWrite { ty: u32, options: Box<[CanonicalOption]>, }, StreamCancelRead { ty: u32, async_: bool, }, StreamCancelWrite { ty: u32, async_: bool, }, StreamCloseReadable { ty: u32, }, StreamCloseWritable { ty: u32, }, FutureNew { ty: u32, }, FutureRead { ty: u32, options: Box<[CanonicalOption]>, }, FutureWrite { ty: u32, options: Box<[CanonicalOption]>, }, FutureCancelRead { ty: u32, async_: bool, }, FutureCancelWrite { ty: u32, async_: bool, }, FutureCloseReadable { ty: u32, }, FutureCloseWritable { ty: u32, }, ErrorContextNew { options: Box<[CanonicalOption]>, }, ErrorContextDebugMessage { options: Box<[CanonicalOption]>, }, ErrorContextDrop, WaitableSetNew, WaitableSetWait { async_: bool, memory: u32, }, WaitableSetPoll { async_: bool, memory: u32, }, WaitableSetDrop, WaitableJoin,
}
Expand description

Represents a canonical function in a WebAssembly component.

Variants§

§

Lift

The function lifts a core WebAssembly function to the canonical ABI.

Fields

§core_func_index: u32

The index of the core WebAssembly function to lift.

§type_index: u32

The index of the lifted function’s type.

§options: Box<[CanonicalOption]>

The canonical options for the function.

§

Lower

The function lowers a canonical ABI function to a core WebAssembly function.

Fields

§func_index: u32

The index of the function to lower.

§options: Box<[CanonicalOption]>

The canonical options for the function.

§

ResourceNew

A function which creates a new owned handle to a resource.

Fields

§resource: u32

The type index of the resource that’s being created.

§

ResourceDrop

A function which is used to drop resource handles of the specified type.

Fields

§resource: u32

The type index of the resource that’s being dropped.

§

ResourceDropAsync

Same as ResourceDrop, but implements the async ABI.

Fields

§resource: u32

The type index of the resource that’s being dropped.

§

ResourceRep

A function which returns the underlying i32-based representation of the specified resource.

Fields

§resource: u32

The type index of the resource that’s being accessed.

§

ThreadSpawnRef

A function which spawns a new thread by invoking the shared function.

Fields

§func_ty_index: u32

The index of the function type to spawn.

§

ThreadSpawnIndirect

A function which spawns a new thread by invoking the shared function passed as an index into a funcref table.

Fields

§func_ty_index: u32

The index of the function type to spawn.

§table_index: u32

The index of the table to use for the indirect spawn.

§

ThreadAvailableParallelism

A function which returns the number of threads that can be expected to execute concurrently

§

BackpressureSet

A function which tells the host to enable or disable backpressure for the caller’s instance.

§

TaskReturn

A function which returns a result to the caller of a lifted export function. This allows the callee to continue executing after returning a result.

Fields

§result: Option<ComponentValType>

The result type, if any.

§options: Box<[CanonicalOption]>

The canonical options for the function.

§

ContextGet(u32)

A context.get intrinsic for the ith slot of task-local storage.

§

ContextSet(u32)

A context.set intrinsic for the ith slot of task-local storage.

§

Yield

A function which yields control to the host so that other tasks are able to make progress, if any.

Fields

§async_: bool

If true, indicates the caller instance maybe reentered.

§

SubtaskDrop

A function to drop a specified task which has completed.

§

StreamNew

A function to create a new stream handle of the specified type.

Fields

§ty: u32

The stream type to instantiate.

§

StreamRead

A function to read from a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§options: Box<[CanonicalOption]>

Any options (e.g. string encoding) to use when storing values to memory.

§

StreamWrite

A function to write to a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§options: Box<[CanonicalOption]>

Any options (e.g. string encoding) to use when loading values from memory.

§

StreamCancelRead

A function to cancel an in-progress read from a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§async_: bool

If false, block until cancellation completes rather than return BLOCKED.

§

StreamCancelWrite

A function to cancel an in-progress write to a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§async_: bool

If false, block until cancellation completes rather than return BLOCKED.

§

StreamCloseReadable

A function to close the readable end of a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§

StreamCloseWritable

A function to close the writable end of a stream of the specified type.

Fields

§ty: u32

The stream type to expect.

§

FutureNew

A function to create a new future handle of the specified type.

Fields

§ty: u32

The future type to instantiate.

§

FutureRead

A function to read from a future of the specified type.

Fields

§ty: u32

The future type to expect.

§options: Box<[CanonicalOption]>

Any options (e.g. string encoding) to use when storing values to memory.

§

FutureWrite

A function to write to a future of the specified type.

Fields

§ty: u32

The future type to expect.

§options: Box<[CanonicalOption]>

Any options (e.g. string encoding) to use when loading values from memory.

§

FutureCancelRead

A function to cancel an in-progress read from a future of the specified type.

Fields

§ty: u32

The future type to expect.

§async_: bool

If false, block until cancellation completes rather than return BLOCKED.

§

FutureCancelWrite

A function to cancel an in-progress write to a future of the specified type.

Fields

§ty: u32

The future type to expect.

§async_: bool

If false, block until cancellation completes rather than return BLOCKED.

§

FutureCloseReadable

A function to close the readable end of a future of the specified type.

Fields

§ty: u32

The future type to expect.

§

FutureCloseWritable

A function to close the writable end of a future of the specified type.

Fields

§ty: u32

The future type to expect.

§

ErrorContextNew

A function to create a new error-context with a specified debug message.

Fields

§options: Box<[CanonicalOption]>

String encoding, memory, etc. to use when loading debug message.

§

ErrorContextDebugMessage

A function to get the debug message for a specified error-context.

Note that the debug message might not necessarily match what was passed to error.new.

Fields

§options: Box<[CanonicalOption]>

String encoding, memory, etc. to use when storing debug message.

§

ErrorContextDrop

A function to drop a specified error-context.

§

WaitableSetNew

A function to create a new waitable-set.

§

WaitableSetWait

A function to block on the next item within a waitable-set.

Fields

§async_: bool

Whether or not the guest can be reentered while calling this function.

§memory: u32

Which memory the results of this operation are stored in.

§

WaitableSetPoll

A function to check if any items are ready within a waitable-set.

Fields

§async_: bool

Whether or not the guest can be reentered while calling this function.

§memory: u32

Which memory the results of this operation are stored in.

§

WaitableSetDrop

A function to drop a waitable-set.

§

WaitableJoin

A function to add an item to a waitable-set.

Trait Implementations§

Source§

impl Clone for CanonicalFunction

Source§

fn clone(&self) -> CanonicalFunction

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CanonicalFunction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> FromReader<'a> for CanonicalFunction

Source§

fn from_reader(reader: &mut BinaryReader<'a>) -> Result<CanonicalFunction>

Attempts to read Self from the provided binary reader, returning an error if it is unable to do so.
Source§

impl PartialEq for CanonicalFunction

Source§

fn eq(&self, other: &CanonicalFunction) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for CanonicalFunction

Source§

impl StructuralPartialEq for CanonicalFunction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.