
- fix: when load aot init expr,no type_idx set. (#4094) - Cmake improvements (#4076) - fix(aot_emit_aot_file): prevent buffer emission for zero byte_count (#4095) - fix(unit-test): libc_builtin_test issues (#4073) - feat: add support for EXTERNREF value type and enable AOT validator in fuzz tests (#4083) - [gc] Subtyping fix (#4075) - Add a conditional check for the macro __STDC_VERSION__ (#4080) - Unit test:type matching issue and code redundancy (#4079) - build(deps): Bump github/codeql-action from 3.28.8 to 3.28.9 (#4074) - fix(aot): ensure value_cmp does not exceed br_count in branch table compilation (#4065) - In wasm32, fix potential conversion overflow when enlarging 65536 pages (#4064) - [fuzzing] execute every exported function (#3959) - Update memory allocation functions to use allocator user data (#4043) - Show wasm proposals status during compilation and execution (#3989) - add a validator for aot module (#3995) - Use wasm32-wasip1 instead of wasm32-wasi target for rust code (#4057) - Update Rust target from 'wasm32-wasi' to 'wasm32-wasip1' in CI (#4050) - Fix wasm loader check data segment count (#4039) - Synchronize the GC spec tests to the commit from December 9. 2024. (#4022) - Refine getting const offsets in wasm loader of fast-interp (#4012) - fixes for compiling on windows (#4026) - .github: Add shared lib builds (#3975) - Refine read leb int wasm loader of fast interpreter (#4017) - build(deps): Bump github/codeql-action from 3.28.0 to 3.28.1 (#4020) - build(deps): Bump actions/upload-artifact from 4.5.0 to 4.6.0 (#4021) - Enable shrunk memory by default and add related configurations (#4008) - Add documentation regarding security issues and the status of Wasm proposals (#3972) - Improve stack consistency by ensuring sufficient space for dummy offsets (#4011) - Check whether related table has funcref elem in opcode call_indirect (#3999) - [fuzzing] Use software bound-check during fuzzing (#4003) - Add an example of how to embed WAMR in Zephyr user mode (#3998) - Fix table index calculations in wasm_loader and wasm_mini_loader (#4004) - Ensure __heap_base and __data_end global indices are validated against import count (#3996) - Error message improvement (#4000) - Handle a new scenario where an item is both exported and imported. (#3984) - Optimize memory initialization handling in AOT loader (#3983) - build(deps): Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#3981) - build(deps): Bump github/codeql-action from 3.27.9 to 3.28.0 (#3982) - Add Tianlong into code owners (#3970) - Set thread information earlier in exec_env creation (#3967) - top-level cmake: link llvm libraries to our shared library (#3973) - add reference type support by default for darwin to support WASI-SDK-25 (#3978) - CMakeLists.txt: Do not require C++ (#3956) - [fuzzing] Enable instantiation (#3958) - use a random secret key (#3971) - top-level cmakefile: fix macOS build (#3968) - Only access Zephyr thread stats info when it's available (#3962) - build(deps): Bump github/codeql-action from 3.27.6 to 3.27.9 (#3960) - wasm_export.h: Use "default" visibility for gcc and clang (#3957) - set alignment 4 when loading multi return value (#3955) - Fix aot table instantiate (#3946) - Consume the placeholders that were put when emitting table info (#3940) - Refactor SConscript and add file checks in iwasm.c (#3945) - Improvements for platform thread APIs on Windows and Zephyr (#3941) - Fix incorrect assignment in win_file.c (#3939) - don't return an uninitialized trap if argv_to_results fails (#3935) - support WASM_FUNCREF return type in argv_to_results (#3936) - add thread cpu time for zephyr (#3937) - build(deps): bump github/codeql-action from 3.27.4 to 3.27.5 (#3931) - Update README.md to clarify Windows toolchain support and ESP-IDF reference (#3917) - Enable ref types by default (#3894) - Fix loader small bug (#3928) - add testcases for shared heap and fix POP_MEM_OFFSET of memory64 (#3916) - Use plain assignment rather than bh_memcpy_s (#3924) - Fix WASI Path Mapping Processing (#3923) - Drop declarative elements on module instantiation (#3922) - Check possible integer overflow in aot memory boundary check (#3920) - Fix CI wamr-ide error (#3913) - Support external toolchain on Windows for aot compiler (#3911) - build(deps): bump github/codeql-action from 3.27.1 to 3.27.4 (#3912) - Correct the table index calculation in aot_instantiation (#3903) - Fix a leak in wasm_loader_emit_br_info (#3900) - GlobalValueSet was moved to IRPartitionLayer recently, but we have a local definition anyway (#3899) - build(deps): bump github/codeql-action from 3.27.0 to 3.27.1 (#3902) - Fix linked global initialization in multimodule (#3905) - Wasm loader enhancement: check code size in code entry (#3892) - Refactor AOT loader to support compatible versions (#3891) - Fix out of bounds issue in is_native_addr_in_shared_heap function (#3886) - Fix mmap flags for AOT loader on non-Linux SGX platforms (#3890) - Bump AOT_CURRENT_VERSION for WAMR 2.x (gc, memory64) (#3880) - Refine looking up aot function with index (#3882) - build(deps): bump github/codeql-action from 3.26.13 to 3.27.0 (#3888) - fix(ios): Remove `float-abi` flag (#3889) - Fix out of bounds issues after memory.grow on non-aot non-threads builds (#3872) - Exclude fuzz test python and npm packages in scoreboard scan (#3871) Author: Chris Woods <6069113+woodsmc@users.noreply.github.com> Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Author: Dylan Johnston <18252447+dpjohnst@users.noreply.github.com> Author: edoardo <48774736+xdoardo@users.noreply.github.com> Author: eric <chenliuyang_1989@163.com> Author: Fadumina Barre <bafadumi@amazon.com> Author: Huang Qi <huangqi3@xiaomi.com> Author: James Ring <sjr@jdns.org> Author: Jérôme Vouillon <jerome.vouillon@gmail.com> Author: kk <zhkag@foxmail.com> Author: liang.he@intel.com <liang.he@intel.com> Author: liang.he <liang.he@intel.com> Author: Maks Litskevich <makslit@amazon.com> Author: Marcin Kolny <mkolny@amazon.com> Author: peter-tatrai <peter.tatrai.ext@siemens.com> Author: TianlongLiang <111852609+TianlongLiang@users.noreply.github.com> Author: Tomáš Malý <malytomas@users.noreply.github.com> Author: Viacheslav Palchikov <palchikov@gmail.com> Author: WenLY1 <130950131+WenLY1@users.noreply.github.com> Author: Wenyong Huang <wenyong.huang@intel.com> Author: Xavier Del Campo <90845888+midokura-xavi92@users.noreply.github.com> Author: YAMAMOTO Takashi <yamamoto@midokura.com> Author: yangkun27 <yangkun27@xiaomi.com>
4.2 KiB
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 4 | Compilation Option |
---|---|---|
Bulk memory operations | Yes | WAMR_BUILD_BULK_MEMORY |
Extended Constant Expressions | Yes | N/A |
Fixed-width SIMD1 | 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 |
Off-by-default Wasm Proposals
Proposal | >= Phase 4 | Compilation Option |
---|---|---|
Garbage collection | Yes | WAMR_BUILD_GC |
Legacy Exception handling2 | No | WAMR_BUILD_EXCE_HANDLING |
Memory64 | Yes | WAMR_BUILD_MEMORY64 |
Multiple memories3 | Yes | WAMR_BUILD_MULTI_MEMORY |
Reference-Typed Strings | No | WAMR_BUILD_STRINGREF |
Tail call | Yes | WAMR_BUILD_TAIL_CALL |
Threads4 | Yes | WAMR_BUILD_SHARED_MEMORY |
Typed Function References | Yes | WAMR_BUILD_GC |
Unimplemented Wasm Proposals
Proposal | >= Phase 4 |
---|---|
Branch Hinting | Yes |
Custom Annotation Syntax in the Text Format | Yes |
Exception handling5 | Yes |
Import/Export of Mutable Globals | Yes |
JS String Builtins | Yes |
Relaxed SIMD | Yes |
On-by-default WASI Proposals
Proposal | >= Phase 4 | Compilation Option |
---|
Off-by-default WASI Proposals
Proposal | >= Phase 4 | Compilation Option |
---|---|---|
Machine Learning (wasi-nn) | No | WAMR_BUILD_WASI_NN |
Threads | No | WAMR_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.
-
llvm-jit and aot only. ↩︎
-
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 ↩︎