2013-02-17

JIT platform by major browser vendor (Feb 2013)

2013年2月の現時点での知っている範囲で。Operaは独自開発やめるから外した。

armarm (thumb2)mipspower pcsh4sparcx86x86-64
Chakra (Microsoft)N/A
(Microsoft says supprot, but their platform uses thumb2)
Yes
(Windows RT / Windows Phone 8)
NoNoNoNoYesYes
JSC (Apple/WebKit)YesYes
(Apple A6 - armv7s)
YesNo
(But Nintendo has port for WiiU)
YesNoYesYes
(Unix ABI only)
SpiderMonkey (Mozilla)YesNoLimited
(JaegerMonkey only)
No
(But TenFourFox team has port for JaegerMonkey)
NoLimited
(JaegerMonkey only)
YesYes
V8 (Google)YesNoYesNoYesNoYesYes

以下注意点。
  • Chakraはarmサポートと言ってるけど、彼らのプラットフォームではARMv7 + thumb2のみ。おそらくそれ以前のCPUはアンサポート
  • JSCはアセンブラ層のポートで行けるから様々なプラットフォームでJITが使える。ただしWin64 ABIはサポートしていない
  • mipsとsh4は各CPUベンダが実装してる
  • Windows RTとWindows Phone 8はThumb2を要求するけど、そもそもWindows Store AppやWindows Phone Appは、mmap/VirualAlloc系の特定ページを実行可能にするAPIを利用できないため、JITを実装することはできない

2012年の一番クレージーな実装はLow Level Interpreterってアイデア出してきたAppleだね。あんなアイデアが突然コミットされるんじゃ、OperaがJSC採用しないのもわかるよ。

0 件のコメント: