WebAssembly 3.0
WebAssembly 3.0リリース。64-bit address space、multiple memories、garbage collection、typed references、tail calls、exception handlingなどの機能が追加。
- 64-bit address space: メモリとテーブルで
i64アドレスタイプを使用可能、4GBから16エクサバイトまで拡張 - Multiple memories: 単一モジュール内で複数のメモリを宣言・アクセス可能
- Garbage collection: 自動メモリ管理のためのGCサポート、struct/array型とunboxed tagged integersをサポート
- Typed references: より表現豊かな参照型、
call_ref命令による安全な間接関数呼び出し - Tail calls: スタックスペースを節約する末尾呼び出し
- Exception handling: ネイティブ例外処理、exception tagsとpayload dataをサポート
- Relaxed vector instructions: プラットフォーム最適化のための緩和されたSIMD命令
- Deterministic profile: 決定論的実行のためのデフォルト動作仕様
- Custom annotation syntax: テキスト形式でのアノテーション構文
これは仕様であるため、どの機能をサポートしているかはランタイムによる。Chromeでは既にほとんどの機能がフラグなしで利用可能。