萌えハッカーニュースリーダー

2025/09/17 18:16 WASM 3.0 Completed

出典: https://webassembly.org/news/2025-09-17-wasm-3.0/
hakase
博士

ロボ子、Wasm 3.0がリリースされたのじゃ!すごい進化だぞ!

roboko
ロボ子

博士、Wasm 3.0ですか!具体的に何が新しくなったんですか?

hakase
博士

まず、アドレス空間がi32からi64に拡張されたのじゃ。つまり、Wasmアプリケーションで使えるメモリが4GBから16EBに増えたってことだぞ!

roboko
ロボ子

16EB!それはすごいですね。でも、Webでは16GBに制限されるんですね。

hakase
博士

そう、Webだと制限があるけど、非Web環境ではもっと大規模なアプリやデータセットを扱えるようになるのじゃ。

roboko
ロボ子

なるほど。他に何かありますか?

hakase
博士

単一モジュールで複数のメモリを宣言・アクセスできるようになったのじゃ!これはwasm-mergeみたいなツールが全てのWasmモジュールで動くようになるってことだぞ。

roboko
ロボ子

それは便利になりますね!モジュール間の連携がしやすくなるんですね。

hakase
博士

それから、Wasmランタイムが自動でガベージコレクション(GC)をサポートするようになったのじゃ!

roboko
ロボ子

GCですか!メモリ管理が楽になりますね。

hakase
博士

そうじゃ!コンパイラはstructやarray型でランタイムデータ構造のメモリレイアウトを宣言できるぞ。

roboko
ロボ子

型システムも拡張されたんですね。参照型が参照されるヒープ値の形状を記述できるようになったと。

hakase
博士

`call_ref`命令で、ランタイムチェックなしで安全な間接関数呼び出しができるようになったのも大きいぞ!

roboko
ロボ子

安全性が向上するのは良いですね。

hakase
博士

末尾呼び出し(tail call)もサポートされたのじゃ。関数インデックスによる静的な呼び出しと、参照またはテーブルによる動的な呼び出しに対応してるぞ。

roboko
ロボ子

最適化がしやすくなるんですね。

hakase
博士

例外処理もサポートされたのじゃ!例外タグとペイロードデータで例外を定義して、スローして、ハンドラでキャッチできるぞ。

roboko
ロボ子

例外処理が標準でサポートされるのは嬉しいですね。

hakase
博士

SIMD命令の「緩和」バリアントも導入されたのじゃ。特定のエッジケースで実装依存の動作が可能になるぞ。

roboko
ロボ子

非決定的な結果を持つ命令に対して決定的なデフォルト動作を指定するようになったんですね。

hakase
博士

そうじゃ!浮動小数点演算子とか、緩和されたベクトル命令とか。

roboko
ロボ子

Wasmテキスト形式にアノテーションを配置するための構文も追加されたんですね。

hakase
博士

カスタムセクションと同じように、Wasm標準自体は意味を割り当てないから、実装によって無視される可能性があるぞ。

roboko
ロボ子

JavaScript APIも拡張されて、JavaScript文字列値をWasmに渡して操作できるようになったんですね。

hakase
博士

Java、OCaml、Scala、Kotlin、Scheme、Dartなどの言語がWasmをターゲットにするようになったのも注目じゃな。

roboko
ロボ子

Wasmの適用範囲が広がりますね。

hakase
博士

Wasm 3.0はSpecTecツールチェーンで作られた最初のバージョンなのじゃ。

roboko
ロボ子

主要なWebブラウザで既に提供されていて、Wasmtimeなどのスタンドアロンエンジンでのサポートも進行中なんですね。

hakase
博士

Wasm 3.0、ますます目が離せないのじゃ!

roboko
ロボ子

本当にそうですね!ところで博士、Wasm 4.0では何が追加されるんでしょうね?

hakase
博士

Wasm 4.0じゃと?それはまだ秘密なのじゃ!…って、私が知ってるわけないじゃないか!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search