Back to Wasm Micro Runtime

Wasm Proposals

doc/stability_wasm_proposals.md

01-12-20204.5 KB
Original Source

Wasm Proposals

This document is intended to describe the current status of WebAssembly proposals and WASI proposals in WAMR.

Only track proposals that are followed in the WebAssembly proposals and WASI proposals.

Normally, the document tracks proposals that are in phase 4. However, if a proposal in an earlier phase receives support, it will be added to the list below.

The status represents the configuration product-mini/platforms/linux/CMakeLists.txt. There may be minor differences between the top-level CMakeLists and platform-specific CMakeLists.

Users can turn those features on or off by using compilation options. If a relevant compilation option is not available(N/A), it indicates that the feature is permanently enabled.

On-by-default Wasm Proposals

Proposal>= Phase 4Compilation Option
Bulk Memory OperationsYesWAMR_BUILD_BULK_MEMORY
Fixed-width SIMD1YesWAMR_BUILD_SIMD
Import/Export of Mutable Globals2YesN/A
Multi-valueYesN/A
Non-trapping float-to-int ConversionsYesN/A
Reference TypesYesWAMR_BUILD_REF_TYPES
Sign-extension OperatorsYesN/A
WebAssembly C and C++ APINoN/A

Off-by-default Wasm Proposals

Proposal>= Phase 4Compilation Option
Branch HintingYesWASM_ENABLE_BRANCH_HINTS
Extended Constant ExpressionsYesWAMR_BUILD_EXTENDED_CONST_EXPR
Garbage CollectionYesWAMR_BUILD_GC
Legacy Exception Handling3NoWAMR_BUILD_EXCE_HANDLING
Memory64YesWAMR_BUILD_MEMORY64
Multiple Memories4YesWAMR_BUILD_MULTI_MEMORY
Reference-Typed StringsNoWAMR_BUILD_STRINGREF
Tail CallYesWAMR_BUILD_TAIL_CALL
Threads5YesWAMR_BUILD_SHARED_MEMORY
Typed Function ReferencesYesWAMR_BUILD_GC

Unimplemented Wasm Proposals

Proposal>= Phase 4
Custom Annotation Syntax in the Text FormatYes
Exception Handling6Yes
JS String BuiltinsYes
Relaxed SIMDYes

On-by-default WASI Proposals

Proposal>= Phase 4Compilation Option

Off-by-default WASI Proposals

Proposal>= Phase 4Compilation Option
Machine Learning (wasi-nn)NoWAMR_BUILD_WASI_NN
ThreadsNoWAMR_BUILD_LIB_WASI_THREADS

Unimplemented WASI Proposals

Proposal>= Phase 4

WAMR features

WAMR offers a variety of customizable features to create a highly efficient runtime. For more details, please refer to build_wamr.

Footnotes

  1. llvm-jit and aot only.

  2. in WAMR's implementation, if a mutable global shared by several wasm instances, each instance maintains its own copy of the global rather than sharing it.

  3. interpreter only. a legacy version. This proposal is currently also known as the "legacy proposal" and still supported in the web, but can be deprecated in future and the use of this proposal is discouraged.

  4. interpreter only

  5. WAMR_BUILD_LIB_PTHREAD can also be used to enable

  6. up-to-date version