Safari - Browse the web in smarter, more powerful ways.

SafariのブラウザエンジンであるWebKitを開発している開発チームは2月15日(米国時間)、「Introducing the B3 JIT Compiler|WebKit」において、WebKitのJITであるFTL JIT (Faster Than Light Just In Time compiler)において、Bare Bones BackendまたはB3と呼ばれるJIT機能を導入したと発表した。これはFTL JITにおける低レベルオプティマイザをLLVMから置き換えるといったもので、動作速度向上が期待できるとしている。

FTL JITは型推論や最適化された型チェックといった機能を持つハイレベルの最適化機能と、レジスタアロケーションといった従来から使われていた低レベルでの最適化機能の双方を組み合わせたJITコンパイラとして設計されている。低レベルでの最適化に関してはこれまでLLVMが使われていたが、LLVMがコードをコンパイルするために使う時間が性能上のボトルネックになってきたとしており、最終的に今回のB3 JITの開発につながっていったとのことだ。

B3 JITはこれまでLLVMが提供してき最適化機能と同じ機能を、LLVMが必要としてきたコンパイル時間よりも短い時間で完了させることに成功。結果、各種ベンチマーク試験においてLLVMを低レベル最適化のバックエンドとして使っていた時よりも優れた性能を実現している。

この新しいJITは今のところMac OS XのWebKitで動作するとされており、ARMアーキテクチャへの移植はまだ開発作業が残っているという。ARMへの移植が完了してからはiPhoneやiPadなどiOSの動作するデバイスにおいても、B3 JITが有効になったSafari/WebKitが使われるのではないかと見られる。