Skip to main content

CommonConfigOptions

Struct CommonConfigOptions 

Source
pub struct CommonConfigOptions { /* private fields */ }
Expand description

Defines the common configuration options.

CommonConfigOptions is used to set the common configuration options, which are

Implementations§

Source§

impl CommonConfigOptions

Source

pub fn new() -> Self

Creates a new instance of CommonConfigOptions.

The default options match the default proposal set of WasmEdge 0.17.1, which enables all the proposals of the WebAssembly 3.0 standard:

  • mutable_globals: true,
  • non_trap_conversions: true,
  • sign_extension_operators: true,
  • multi_value: true,
  • bulk_memory_operations: true,
  • reference_types: true,
  • simd: true,
  • relax_simd: true,
  • multi_memories: true,
  • threads: false,
  • gc: true,
  • tail_call: true,
  • extended_const: true,
  • annotations: false,
  • memory64: true,
  • exception_handling: true,
  • function_references: true,
  • component_model: false,
  • run_mode: RunMode::Interpreter,
Source

pub fn from_wasm_standard(standard: WasmStandard) -> Self

Creates a new instance of CommonConfigOptions with the proposal preset of the given WebAssembly standard.

The proposals that do not belong to the given standard, such as Annotations, Threads, and Component, are disabled.

§Argument
  • standard specifies the WebAssembly standard whose proposal preset is applied.
Source

pub fn mutable_globals(self, enable: bool) -> Self

Enables or disables the ImportExportMutGlobals option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn non_trap_conversions(self, enable: bool) -> Self

Enables or disables the NonTrapFloatToIntConversions option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn sign_extension_operators(self, enable: bool) -> Self

Enables or disables the SignExtensionOperators option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn multi_value(self, enable: bool) -> Self

Enables or disables the MultiValue option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn bulk_memory_operations(self, enable: bool) -> Self

Enables or disables the BulkMemoryOperations option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn reference_types(self, enable: bool) -> Self

Enables or disables the ReferenceTypes option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn simd(self, enable: bool) -> Self

Enables or disables the SIMD option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn relax_simd(self, enable: bool) -> Self

Enables or disables the RelaxSIMD option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn multi_memories(self, enable: bool) -> Self

Enables or disables the MultiMemories option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn threads(self, enable: bool) -> Self

Enables or disables the Threads option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn gc(self, enable: bool) -> Self

Enables or disables the GC option.

The GC proposal depends on the FunctionReferences and ReferenceTypes proposals: while GC is enabled, the runtime keeps both dependencies enabled and ignores disabling them.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn tail_call(self, enable: bool) -> Self

Enables or disables the TailCall option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn extended_const(self, enable: bool) -> Self

Enables or disables the ExtendedConst option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn annotations(self, enable: bool) -> Self

Enables or disables the Annotations option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn memory64(self, enable: bool) -> Self

Enables or disables the Memory64 option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn exception_handling(self, enable: bool) -> Self

Enables or disables the ExceptionHandling option.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn function_references(self, enable: bool) -> Self

Enables or disables the FunctionReferences option.

The FunctionReferences proposal depends on the ReferenceTypes proposal: while FunctionReferences is enabled, the runtime keeps ReferenceTypes enabled and ignores disabling it. Disabling FunctionReferences is ignored while the GC proposal stays enabled.

§Argument
  • enable - Whether the option turns on or not.
Source

pub fn component_model(self, enable: bool) -> Self

Enables or disables the Component option.

Notice that the WebAssembly component model support in WasmEdge is experimental.

§Argument
  • enable specifies if the option turns on or not.
Source

pub fn interpreter_mode(self, enable: bool) -> Self

👎Deprecated:

use run_mode instead; since WasmEdge 0.17.0, passing false is a no-op

Enables or disables the ForceInterpreter option.

§Argument
  • enable - Whether the option turns on or not.
Source

pub fn run_mode(self, mode: RunMode) -> Self

Sets the execution mode: interpreter, JIT, or AOT. By default, the mode is RunMode::Interpreter.

Since WasmEdge 0.17.0, only RunMode::Aot loads the AOT custom sections from a universal WASM file or dlopens a shared-library WASM artifact; in the other modes, the AOT data is ignored and the WASM runs in the selected engine.

§Argument
  • mode - The execution mode to set.

Trait Implementations§

Source§

impl Clone for CommonConfigOptions

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for CommonConfigOptions

Source§

impl Debug for CommonConfigOptions

Source§

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

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

impl Default for CommonConfigOptions

Source§

fn default() -> Self

Creates a new default instance of CommonConfigOptions.

The default options match the default proposal set of WasmEdge 0.17.1, which enables all the proposals of the WebAssembly 3.0 standard:

  • mutable_globals: true,
  • non_trap_conversions: true,
  • sign_extension_operators: true,
  • multi_value: true,
  • bulk_memory_operations: true,
  • reference_types: true,
  • simd: true,
  • relax_simd: true,
  • multi_memories: true,
  • threads: false,
  • gc: true,
  • tail_call: true,
  • extended_const: true,
  • annotations: false,
  • memory64: true,
  • exception_handling: true,
  • function_references: true,
  • component_model: false,
  • run_mode: RunMode::Interpreter,

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.