BT

新しい あなたは、アーリーアダプター?それともイノベーター?そんな皆様に、InfoQの新機能をご案内しています。詳細はこちら

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

| 作者: Abel Avram , 翻訳者 阪田 浩一 投稿日 2017年6月18日. 推定読書時間: 1分未満 |

原文(投稿日: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
 
 

この記事に星をつける

おすすめ度
スタイル

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT