「WebAssembly 3.0」正式仕様が完成。16エクサバイトのメモリ空間に拡張、ガベージコレクション、テールコール、例外処理など

2025年9月19日

W3CのWebAssemblyワーキンググループは、WebAssemblyの最新仕様となる「WebAssembly 3.0」正式版が完成したことを明らかにしました

fig

WebAssemblyはもともと、Webブラウザ上で高速にアプリケーションを実行することを目的に策定されたバイナリフォーマットです。

しかし現在ではWASI(WebAssembly System Interface)と呼ばれる拡張機能の登場によって、サーバサイドにおけるクロスプラットフォーム対応の実行環境としても使われ始めています。

WebAssembly 3.0はそうした状況を受けて、サーバサイドでの実行に適した機能や性能向上に向けた仕様となっています。

WebAssembly 3.0の主な仕様

64ビットアドレス空間
WebAssemblyで利用可能なアドレス空間が64ビットになり、これまでの4ギガバイトから16エクサバイトにまで拡張されました。これによりサーバサイドでの大規模なアプリケーションにも対応できるようになります。

ガベージコレクション
アプリケーションによって割り当てられたメモリが参照されなくなり不要になったと判断されると、自動的に解放されます。これにより、JavaやPHP、Kotlinといったガベージコレクションを備えたプログラミング言語の実行系をWebAssemblyに移植しやすくなります。

複数のメモリ空間
単一のWebAssemblyモジュールが分離された複数のメモリ空間を定義し、利用や操作ができるようになりました。例えば、あるメモリ空間は別のプロセスとのデータのやりとりに使い、別のメモリ空間はプライベートに保つことで、アプリケーション内でのセキュリティを高めることが可能です。

型付き参照
実行時の型チェックを回避できるように、参照されるヒープの値の型を正確に記述できるようになりました。

テールコール
テールコールもしくは末尾再帰と呼ばれる、自身の再帰呼び出しがその処理における最後の処理になるような記述に対応しました。

例外ハンドリング
例外が発生した場合、その例がスローされ、タグによって適切なハンドラにキャッチされる処理が可能になりました。

その他多くの機能がWebAssembly 3.0の仕様で定義されていますが、そのいくつかはすでに広く実装され、利用可能になっています。

例えばガベージコレクションはすでに今年(2025年)1月にWeb標準のベースラインとなって広く使えるようになっています。

参考:WebAssemblyガベージコレクション機能がWeb標準の「Baseline」に。Safari 18.2でのサポート開始で

どのWebブラウザやサーバサイドのランタイムがどの機能をサポートしているかの詳細は、「Feature Status - WebAssembly」のページで参照することができます。

あわせて読みたい

WebAssembly プログラミング言語




タグクラウド

クラウド
AWS / Azure / Google Cloud
クラウドネイティブ / サーバレス
クラウドのシェア / クラウドの障害

コンテナ型仮想化

プログラミング言語
JavaScript / Java / .NET
WebAssembly / Web標準
開発ツール / テスト・品質

アジャイル開発 / スクラム / DevOps

データベース / 機械学習・AI
RDB / NoSQL

ネットワーク / セキュリティ
HTTP / QUIC

OS / Windows / Linux / 仮想化
サーバ / ストレージ / ハードウェア

ITエンジニアの給与・年収 / 働き方

殿堂入り / おもしろ / 編集後記

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
Facebookで : Publickeyのページ
RSSリーダーで : Feed

最新記事10本