WebAssemblyにガベージコレクション機能が登場、Chrome 111で試験的実装に。Dartなど高級言語のWebAssembly対応へ前進

2023年2月6日

WebAssemblyのガベージコレクション機能が、Chrome 111 Devリリースにおいて試験的実装を示すOrigin trialとして実装されることが分かりました。

WebAssemblyのガベージコレクション機能はまだ仕様策定段階ですが、試験的機能として実装が登場することで仕様策定の作業などが進むと同時に、いわゆる高級言語でのWebAssembly対応が広がることも期待されます。

fig

WASM GCはChromeのフィーチャーフラグで有効化

ChromeブラウザにはStable、Beta、Dev、Canaryなど、開発の段階に分かれた複数のリリースチャンネルがあります。

現在リリースされているChrome 111 Devリリースチャンネルには、試験的実装を示すOrigin Trialとして「WebAssembly Managed Objects / GC」が実装されました。

Chrome 111 Devリリースのフィーチャーフラグを実行すると、有効にするためのメニューを表示できます。

fig

FlutterがWebAssemblyのガベージコレクションを用いた最初の例に

WebAssemblyはこれまでガベージコレクション機能を備えておらず、そのためにプログラマが完全にメモリを管理するC++や、シンプルな仕組みで自動的にメモリ管理が行われるRustのような、いわゆる低級プログラミング言語で書かれたコードをコンパイルすることが基本的なWebAssemblyバイナリの生成方法でした。

JavaやPythonやRubyなどのいわゆる高級プログラミング言語はプログラミング言語のランタイムが自動的にメモリを管理し、ガベージコレクションを行ってくれる仕組みを備えています。

そのため、それらのコードをコンパイルしてWebAssembly対応のバイナリを生成したとしても、そこにガベージコレクションの機能を埋め込まなければ実行できず、コンパイルしてWebAssembly対応のバイナリを生成することは困難でした。

WebAssemblyに対するガベージコレクション機能の拡張は、こうした高級言語でのWebAssembly対応が主な目的です。

すでにUIフレームワークのFlutterとその開発言語であるDartが、WebAssemblyのガベージコレクション対応を利用した最初のフレームワークになることを宣言しています。

参考:Flutterが進化する方向とは? WebAssemblyサポート、コンポーネントとしてWebアプリに組み込み可能に。Flutter Forward 2023

FlutterとDart、そしてChromeブラウザはいずれもGoogleのプロダクトであるため、ここではそれぞれのチームが連係しているのかもしれません。

DartとFlutterの対応を皮切りに、さまざまな高級言語でのWebAssembly対応が進めば、今後のWebAssemblyの活用範囲はさらに広がることが期待されます。ただし最初にWebAssemblyに実装されるガベージコレクション機能はシンプルな実装で、しかもある程度性能を犠牲にすることになるとされているため、いきなり多くの言語が対応することはないと見られます。

WebAssemblyのガベージコレクション対応実装は、ChromeだけでなくFirefoxも前向きに進めているとのことです。

関連記事

Firefoxでも実装中であることが明らかになりました。

Tags: WebAssembly Web標準 プログラミング言語 Chrome

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly





タグクラウド

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

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

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

最新記事10本