24 KiB
Tiered Support
Tier Definitions
Tier A
This tier is the highest level of support. Features and targets in this tier are fully supported, actively maintained, and regularly tested. Users can expect prompt assistance and comprehensive documentation for any issues or questions related to these features. Users can rely on Tier A features for production environments. Targets in this tier usually have been used in products.
Tier B
This tier represents a moderate level of support. Features and targets in this tier are generally supported and maintained, but may not receive the same level of attention as Tier A. While efforts are made to ensure stability, users may encounter occasional issues that are not immediately addressed. Documentation may be less comprehensive compared to Tier A. Users are encouraged to report any issues they encounter, but response times may vary.
Tier C
This tier indicates a basic level of support. Features and targets in this tier are considered experimental or less stable. They may not be actively maintained, and users should be prepared for potential issues or limitations. Documentation may be minimal or outdated. Users opting to use Tier C features do so at their own risk and should be prepared to troubleshoot issues independently. These features are typically not recommended for production use.
Note
tested mentioned above specifically refers to whether there are enough tests in CI.
actively maintained means that the code is regularly updated to fix bugs, improve performance, and ensure compatibility with other components.
fully supported means that users can expect timely assistance, comprehensive documentation, and regular updates for any issues or questions related to these features.
Runtime Extensions are features that extend the runtime capabilities of the system beyond the core WebAssembly specification. These extensions may include optimizations, additional APIs, or other enhancements that improve performance, usability, or functionality.
TierA
| Description | Compilation Flags | Labels |
|---|---|---|
| x86_64-pc-linux-gnu | N/A | Target |
| x86_64-apple-darwin | N/A | Target |
| x86_64-none-linux-gnu | N/A | Target |
| i386-pc-linux-gnu | N/A | Target |
| aarch64-unknown-nuttx-eabi | N/A | Target |
| Linux Compatibility | N/A | Runtime Extensions |
| Bulk Memory | WAMR_BUILD_BULK_MEMORY | Wasm Proposal |
| Custom sections | WAMR_BUILD_LOAD_CUSTOM_SECTION | Wasm Proposal |
| Extended Constant Expressions | WAMR_BUILD_EXTENDED_CONST_EXPR | Wasm Proposal |
| Import/Export of Mutable Globals | ALWAYS ON. Can not be disabled | Wasm Proposal |
| Memory64 | WAMR_BUILD_MEMORY64 | Wasm Proposal |
| Multi-value | ALWAYS ON. Can not be disabled | Wasm Proposal |
| Name section | WAMR_BUILD_CUSTOM_NAME_SECTION | Wasm Proposal |
| Non-trapping float-to-int | ALWAYS ON . Can not be disabled | Wasm Proposal |
| Reference Types | WAMR_BUILD_REF_TYPES | Wasm Proposal |
| Threads | WAMR_BUILD_SHARED_MEMORY | Wasm Proposal |
| SIMD (128-bit) | WAMR_BUILD_SIMD | Wasm Proposal |
| WASI LIBC | WAMR_BUILD_LIBC_WASI | Wasm Proposal |
| AoT compilation (wamrc) | WAMR_BUILD_WAMR_COMPILER | Runtime Extensions |
| AoT runtime | WAMR_BUILD_AOT | Runtime Extensions |
| AOT intrinsics | WAMR_BUILD_AOT_INTRINSICS | Runtime Extensions |
| AoT stack frame | WAMR_BUILD_AOT_STACK_FRAME | Runtime Extensions |
| Fast Interpreter | WAMR_BUILD_FAST_INTERP | Runtime Extensions |
| Interpreter (classic) | WAMR_BUILD_INTERP | Runtime Extensions |
| Libc builtin | WAMR_BUILD_LIBC_BUILTIN | Runtime Extensions |
| Quick AOT/JIT entries | WAMR_BUILD_QUICK_AOT_ENTRY | Runtime Extensions |
| Shrunk memory | WAMR_BUILD_SHRUNK_MEMORY | Runtime Extensions |
| Wakeup blocking operation | WAMR_DISABLE_WAKEUP_BLOCKING_OP | Runtime Extensions |
| Disable app entry | WAMR_DISABLE_APP_ENTRY | Runtime Extensions |
| Disable hardware bound check | WAMR_DISABLE_HW_BOUND_CHECK | Runtime Extensions |
| Disable stack hardware bound check | WAMR_DISABLE_STACK_HW_BOUND_CHECK | Runtime Extensions |
| Global heap pool | WAMR_BUILD_GLOBAL_HEAP_POOL | Runtime Extensions |
| Global heap size | WAMR_BUILD_GLOBAL_HEAP_SIZE | Runtime Extensions |
| Thread manager | WAMR_BUILD_THREAD_MGR | Runtime Extensions |
| WASI threads | WAMR_BUILD_LIB_WASI_THREADS | Runtime Extensions |
TierB
| Description | Compilation Flags | Labels |
|---|---|---|
| arc-unknown-none-elf | N/A | Target |
| x86_64-pc-windows-msvc | N/A | Target |
| mips-unknown-elf | N/A | Target |
| mips64-unknown-elf | N/A | Target |
| Darwin Compatibility | N/A | Runtime Extensions |
| ESP-IDF Compatibility | N/A | Runtime Extensions |
| Nuttx Compatibility | N/A | Runtime Extensions |
| SGX Compatibility | N/A | Runtime Extensions |
| Zephyr Compatibility | N/A | Runtime Extensions |
| GC (Garbage Collection) | WAMR_BUILD_GC | Wasm Proposal |
| Stringref | WAMR_BUILD_STRINGREF | Wasm Proposal |
| Tail Calls | WAMR_BUILD_TAIL_CALL | Wasm Proposal |
| Allocation with usage tracking | WAMR_BUILD_ALLOC_WITH_USAGE | Runtime Extensions |
| Allocation with user data | WAMR_BUILD_ALLOC_WITH_USER_DATA | Runtime Extensions |
| Copy Call Stack | WAMR_BUILD_COPY_CALL_STACK | Runtime Extensions |
| Debug Interpreter | WAMR_BUILD_DEBUG_INTERP | Runtime Extensions |
| Dump call stack | WAMR_BUILD_DUMP_CALL_STACK | Runtime Extensions |
| External Delegate for WASI NN | WAMR_BUILD_WASI_NN_ENABLE_EXTERNAL_DELEGATE | Runtime Extensions |
| External Delegate Path for WASI NN | WAMR_BUILD_WASI_NN_EXTERNAL_DELEGATE_PATH | Runtime Extensions |
| Garbage Collection Heap Verify | WAMR_BUILD_GC_HEAP_VERIFY | Runtime Extensions |
| GPU Support for WASI NN | WAMR_BUILD_WASI_NN_ENABLE_GPU | Runtime Extensions |
| Host defined logging | WAMR_BH_LOG | Runtime Extensions |
| Host defined vprintf | WAMR_BH_vprintf | Runtime Extensions |
| Lazy JIT Compilation | WAMR_BUILD_LAZY_JIT | Runtime Extensions |
| Linux Performance Counters | WAMR_BUILD_LINUX_PERF | Runtime Extensions |
| LLAMA CPP for WASI NN | WAMR_BUILD_WASI_NN_LLAMACPP | Runtime Extensions |
| Maximum stack size for app threads | WAMR_APP_THREAD_STACK_SIZE_MAX | Runtime Extensions |
| Memory profiling | WAMR_BUILD_MEMORY_PROFILING | Runtime Extensions |
| Module instance context | WAMR_BUILD_MODULE_INST_CONTEXT | Runtime Extensions |
| Multi-module | WAMR_BUILD_MULTI_MODULE | Runtime Extensions |
| Native General Invocation | WAMR_BUILD_INVOKE_NATIVE_GENERAL | Runtime Extensions |
| ONNX for WASI NN | WAMR_BUILD_WASI_NN_ONNX | Runtime Extensions |
| OpenVINO for WASI NN | WAMR_BUILD_WASI_NN_OPENVINO | Runtime Extensions |
| Perf profiling | WAMR_BUILD_PERF_PROFILING | Runtime Extensions |
| Pthread | WAMR_BUILD_LIB_PTHREAD | Runtime Extensions |
| Pthread Semaphore Support | WAMR_BUILD_LIB_PTHREAD_SEMAPHORE | Runtime Extensions |
| Shared heap | WAMR_BUILD_SHARED_HEAP | Runtime Extensions |
| Stack Guard Size | WAMR_BUILD_STACK_GUARD_SIZE | Runtime Extensions |
| TFLite for WASI NN | WAMR_BUILD_WASI_NN_TFLITE | Runtime Extensions |
| WASI Ephemeral NN | WAMR_BUILD_WASI_EPHEMERAL_NN | Runtime Extensions |
| WASI-NN (neural network APIs) | WAMR_BUILD_WASI_NN | Runtime Extensions |
| Configurable bounds checks | WAMR_CONFIGURABLE_BOUNDS_CHECKS | Runtime Extensions |
| Bulk-memory-opt | WAMR_BUILD_BULK_MEMORY_OPT | Runtime Extensions |
| Call-indirect-overlong | WAMR_BUILD_CALL_INDIRECT_OVERLONG | Runtime Extensions |
| Lime1 runtime | WAMR_BUILD_LIME1 | Runtime Extensions |
| Test garbage collection | WAMR_TEST_GC | Runtime Extensions |
| Write GS base | WAMR_DISABLE_WRITE_GS_BASE | Runtime Extensions |
| Per Instance running mode | ALWAYS ON. Can not be disabled | Runtime Extensions |
| Shared heap | WAMR_BUILD_SHARED_HEAP | Runtime Extensions |
TierC
| Description | Compilation Flags | Labels |
|---|---|---|
| x86_64-linux-cosmo | N/A | Target |
| riscv32-unknown-elf | N/A | Target |
| riscv64-unknown-elf | N/A | Target |
| xtensa-esp32-elf | N/A | Target |
| riscv32-esp-elf | N/A | Target |
| x86_64-unknown-freebsd | N/A | Target |
| x86_64-linux-android | N/A | Target |
| aarch64-apple-ios | N/A/ | Target |
| arm-none-eabi | N/A | Target |
| i386-unknown-elf | N/A | Target |
| x86_64-wrs-vxworks | N/A | Target |
| i386-wrs-vxworks | N/A | Target |
| AliOS compatibility | N/A | Runtime Extensions |
| Android Compatibility | N/A | Runtime Extensions |
| Cosmo Compatibility | N/A | Runtime Extensions |
| FreeBSD Compatibility | N/A | Runtime Extensions |
| iOS Compatibility | N/A | Runtime Extensions |
| RIOT OS Compatibility | N/A | Runtime Extensions |
| RT-Thread Compatibility | N/A | Runtime Extensions |
| VxWorks Compatibility | N/A | Runtime Extensions |
| Windows Compatibility | N/A | Runtime Extensions |
| Legacy Exception Handling | WAMR_BUILD_EXCE_HANDLING | Wasm Proposal |
| Multi-memory | WAMR_BUILD_MULTI_MEMORY | Wasm Proposal |
| Extended constant expressions | WAMR_BUILD_EXTENDED_CONST_EXPR | Wasm Proposal |
| Debug AOT | WAMR_BUILD_DEBUG_AOT | Runtime Extensions |
| Fast JIT | WAMR_BUILD_FAST_JIT | Runtime Extensions |
| Instruction Metering | WAMR_BUILD_INSTRUCTION_METERING | Runtime Extensions |
| Libc EMCC Compatibility | WAMR_BUILD_LIBC_EMCC | Runtime Extensions |
| Libc UVWASI Compatibility | WAMR_BUILD_LIBC_UVWASI | Runtime Extensions |
| Multi-tier JIT | Runtime Extensions | |
| RATS Library | WAMR_BUILD_LIB_RATS | Runtime Extensions |
| SGX IPFS Support | WAMR_BUILD_SGX_IPFS | Runtime Extensions |
| Tier-up (Fast JIT → LLVM JIT) | WAMR_BUILD_DYNAMIC_AOT_DEBUG | Runtime Extensions |
| Dynamic AoT debugging | WAMR_BUILD_DYNAMIC_AOT_DEBUG | Runtime Extensions |
| Bulk-memory-opt | WAMR_BUILD_BULK_MEMORY_OPT | Runtime Extensions |
| Call-indirect-overlong | WAMR_BUILD_CALL_INDIRECT_OVERLONG | Runtime Extensions |
| WASM cache | WAMR_BUILD_WASM_CACHE | Runtime Extensions |
| Mini Loader | WAMR_BUILD_MINI_LOADER | Runtime Extensions |
| AoT Validator | WAMR_BUILD_AOT_VALIDATOR | Runtime Extensions |
| Fast JIT Dump | WAMR_BUILD_FAST_JIT_DUMP | Runtime Extensions |
| Static PGO | WAMR_BUILD_STATIC_PGO | Runtime Extensions |