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 |
| Extended Constant Expressions | Yes | N/A |
| Fixed-width SIMD[^1] | Yes | WAMR_BUILD_SIMD |
| 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 |
[^1]: llvm-jit and aot only.
| Proposal | >= Phase 4 | Compilation Option |
|---|---|---|
| Garbage collection | Yes | WAMR_BUILD_GC |
| Legacy Exception handling[^2] | No | WAMR_BUILD_EXCE_HANDLING |
| Memory64 | Yes | WAMR_BUILD_MEMORY64 |
| Multiple memories[^3] | Yes | WAMR_BUILD_MULTI_MEMORY |
| Reference-Typed Strings | No | WAMR_BUILD_STRINGREF |
| Tail call | Yes | WAMR_BUILD_TAIL_CALL |
| Threads[^4] | Yes | WAMR_BUILD_SHARED_MEMORY |
| Typed Function References | Yes | WAMR_BUILD_GC |
[^2]:
interpreter only. [a legacy version](https://github.com/WebAssembly/exception-handling/blob/main/proposals/exception-handling/legacy/Exceptions.md).
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.
[^3]: interpreter only
[^4]: WAMR_BUILD_LIB_PTHREAD can also be used to enable
| Proposal | >= Phase 4 |
|---|---|
| Branch Hinting | Yes |
| Custom Annotation Syntax in the Text Format | Yes |
| Exception handling[^5] | Yes |
| Import/Export of Mutable Globals | Yes |
| JS String Builtins | Yes |
| Relaxed SIMD | Yes |
[^5]: up-to-date version
| 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.