「WebAssembly 2.0」に関する最初のワーキングドラフが公開。整数における符号拡張命令、関数からの複数の戻り値などを拡張
今回は「「WebAssembly 2.0」に関する最初のワーキングドラフが公開。整数における符号拡張命令、関数からの複数の戻り値などを拡張」についてご紹介します。
関連ワード (処理命令、変更点、提案等) についても参考にしながら、ぜひ本記事について議論していってくださいね。
本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。
W3Cの WebAssembly Working Groupは、「WebAssembly 2.0」に関する最初のワーキングドラフト「Web Assembly First Public Working Draft」を公開しました。
WebAssemblyは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットとして仕様策定と実装が始まりました。2017年には主要なWebブラウザでのサポートが実現し、2019年12月にはW3Cの勧告に到達しました。
- WebAssemblyがW3Cの勧告に到達。「WebAssembly Core Specification 」「WebAssembly Web API」「WebAssembly JavaScript Interface 」の3つ
今回公開されたWebAssembly 2.0のワーキングドラフとは、現在のWebAssemblyをさらに機能拡張するものです。
WebAssembly 2.0の主な変更点
WebAssmbly 2.0はW3Cのプロセスによる議論などにより仕様策定が進められる予定です。
現時点でWebAssembly 2.0の追加機能としてどのようなものが提案されているかは、Change Historyのページから参照することができます。
このページによると、以下が現時点での変更点となっています。
- Sign extension instruntions(整数における符号拡張命令)
- Non-trapping float-to-int conversions(浮動小数点型から整数型への変換時のトラップ処理なし)
- Multiple values(関数が複数の値を返せる)
- Reference types(参照型の追加)
- Table instructions(参照型を要素に持つテーブル型に対する操作命令)
- Multiple tables (複数テーブルの処理)
- Bulk memory and table instructions (一定範囲のメモリやテーブルに対する操作)
- Vector instructions(並行処理が可能なベクトル処理命令の追加)