Supported WASM And WASI Proposals

WebAssembly proposals

WasmEdge supports the following WebAssembly proposals. Those proposals are likely to become official WebAssembly specifications in the future.

ProposalWasmEdge CLI flagWasmEdge C API enumerationDefault turning onInterpreter modeAOT mode
Import/Export of Mutable Globals--disable-import-export-mut-globalsWasmEdge_Proposal_ImportExportMutGlobals✓ (since 0.8.2)
Non-trapping float-to-int conversions--disable-non-trap-float-to-intWasmEdge_Proposal_NonTrapFloatToIntConversions✓ (since 0.8.2)
Sign-extension operators--disable-sign-extension-operatorsWasmEdge_Proposal_SignExtensionOperators✓ (since 0.8.2)
Multi-value--disable-multi-valueWasmEdge_Proposal_MultiValue✓ (since 0.8.2)
Reference Types--disable-reference-typesWasmEdge_Proposal_ReferenceTypes✓ (since 0.8.2)
Bulk memory operations--disable-bulk-memoryWasmEdge_Proposal_BulkMemoryOperations✓ (since 0.8.2)
Fixed-width SIMD--disable-simdWasmEdge_Proposal_SIMD✓ (since 0.9.0)✓ (since 0.8.2)✓ (since 0.8.2)
Tail call--enable-tail-callWasmEdge_Proposal_TailCall✓ (since 0.10.0)✓ (since 0.10.0)
Multiple memories--enable-multi-memoryWasmEdge_Proposal_MultiMemories✓ (since 0.9.1)✓ (since 0.9.1)
Extended Constant Expressions--enable-extended-constWasmEdge_Proposal_ExtendedConst✓ (since 0.10.0)✓ (since 0.10.0)
Threads--enable-threadsWasmEdge_Proposal_Threads✓ (since 0.10.1)✓ (since 0.10.1)

The following proposals is under development and may be supported in the future:

WASI proposals

WasmEdge implements the following WASI proposals.

ProposalPlatforms
Socketsx86_64 Linux, aarch64 Linux (since 0.10.0)
Cryptox86_64 Linux, aarch64 Linux (since 0.10.1)
Machine Learning (wasi-nn)x86_64 Linux, OpenVINO (since 0.10.1) and PyTorch (since 0.11.1) backends
proxy-wasmx86_64 Linux (Interpreter only) (since 0.8.2)

The following proposals is under development and may be supported in the future:

  • TensorFlow backend of WASI-NN
  • TensorFlow-Lite backend of WASI-NN