BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース WebKitがWebAssemblyを完全にサポートした

WebKitがWebAssemblyを完全にサポートした

ブックマーク

原文(投稿日:2017/06/10)へのリンク

AppleのSafariはWebAssemblyを完全にサポートした。これは将来のECMAScriptモジュールとスレッドの統合準備も含んでいる。

AppleはWebKitにWebAssemblyの完全なサポートを追加し、Safariが他言語で書かれたコードを実行できるよう拡張している。WebKitはWebAssemblyをx86とx64、ARM 64プラットフォームでサポートする。

WebAssemblyはブラウザ内でJavaScriptとして使えるので、WebKitはそれを動作させるために既存のJavaScriptの機能を再利用している。たとえば、WebAssembly.Instance APIはブラウザですでにサポートされているECMAScriptモジュールを使って実装されている。それが要望されている機能となったときの、JavaScriptモジュールとの統合手段を準備している。また、WebAssemblyのWebKitでの実装はスレッドのサポートを追加するときの準備のためにスレッドセーフとなっている。この機能はChromeもロードマップに持っている。

ツールがコードをWebAssemblyにコンパイルするとき、さまざまなパフォーマンスの最適化をすでにやっている。しかしWebKitはもう2つ最適化の層を追加する。即時バイトコード構築(BBQ)と最適化された機械語ジェネレータ(OMG)だ。両者ともB3 JITをベースにしている。これはWebKitがJavaScriptコードを調整するために使っているものだ。AppleのエンジニアによるとBBQはOMGより4倍速いが、生じたコードは2倍遅い。BBQはすばやくコードを実行するために使い、OMGはホットコードに使う。後者は速度が重要なコード部分へより深い最適化を実行する。

WebAssemblyはSafari Technology Previewのリリース32で利用できる。ChromeとFirefoxは3月にWebAssemblyの完全なサポートを追加した。Microsoft Edgeは全プラットフォームのプレビューモードにWebAssemblyがある。デスクトップとモバイル、Xbox、複合現実向けだ。

 
 

Rate this Article

Adoption Stage
Style
 

この記事に星をつける

おすすめ度
スタイル

BT