doc/stability_wasm_proposals.md
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.
| Proposal | >= Phase 4 | Compilation Option |
|---|---|---|
| Bulk Memory Operations | Yes | WAMR_BUILD_BULK_MEMORY |
| Fixed-width SIMD1 | Yes | WAMR_BUILD_SIMD |
| Import/Export of Mutable Globals2 | Yes | N/A |
| Multi-value | Yes | N/A |
| Non-trapping float-to-int Conversions | Yes | N/A |
| Reference Types | Yes | WAMR_BUILD_REF_TYPES |
| Sign-extension Operators | Yes | N/A |
| WebAssembly C and C++ API | No | N/A |
| Proposal | >= Phase 4 | Compilation Option |
|---|---|---|
| Branch Hinting | Yes | WASM_ENABLE_BRANCH_HINTS |
| Extended Constant Expressions | Yes | WAMR_BUILD_EXTENDED_CONST_EXPR |
| Garbage Collection | Yes | WAMR_BUILD_GC |
| Legacy Exception Handling3 | No | WAMR_BUILD_EXCE_HANDLING |
| Memory64 | Yes | WAMR_BUILD_MEMORY64 |
| Multiple Memories4 | Yes | WAMR_BUILD_MULTI_MEMORY |
| Reference-Typed Strings | No | WAMR_BUILD_STRINGREF |
| Tail Call | Yes | WAMR_BUILD_TAIL_CALL |
| Threads5 | Yes | WAMR_BUILD_SHARED_MEMORY |
| Typed Function References | Yes | WAMR_BUILD_GC |
| Proposal | >= Phase 4 |
|---|---|
| Custom Annotation Syntax in the Text Format | Yes |
| Exception Handling6 | Yes |
| JS String Builtins | Yes |
| Relaxed SIMD | Yes |
| Proposal | >= Phase 4 | Compilation Option |
|---|
| Proposal | >= Phase 4 | Compilation Option |
|---|---|---|
| Machine Learning (wasi-nn) | No | WAMR_BUILD_WASI_NN |
| Threads | No | WAMR_BUILD_LIB_WASI_THREADS |
| Proposal | >= Phase 4 |
|---|
WAMR offers a variety of customizable features to create a highly efficient runtime. For more details, please refer to build_wamr.
llvm-jit and aot only. ↩
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. ↩
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. ↩
interpreter only ↩
WAMR_BUILD_LIB_PTHREAD can also be used to enable ↩