V8 (JavaScriptエンジン)
表示
![]() | |
開発元 | |
---|---|
最新版 |
8.0[1]
/ 2019年12月18日 |
リポジトリ | |
対応OS |
Windows XP SP2 以降 Mac OS X v10.5 Leopard Linux |
プラットフォーム | IA-32, x64, ARM, MIPS[2][3] |
種別 | JavaScriptエンジン |
ライセンス | 修正BSDライセンス |
公式サイト |
v8 |
V8は、Googleが開発するオープンソースのJIT Virtual Machine型のJavaScriptエンジンである[4]。この名前は同じく「V8」と略されるV型8気筒エンジンに由来している[5]。Google ChromeなどのChromiumベースのブラウザや、Node.jsなどで採用されている。
概要
ECMAScript (ECMA-262) 5th Edition準拠で、C++で記述されている。スタンドアロンでの実行が可能なほか、C++で書かれたアプリケーションの一部として動作させることもできる。
Firefoxはインタープリタで実行して、統計情報をとって[6]、まず中間コードに変換し、その上でJITコンパイルするが、V8では、中間コードもなく、インタープリタも搭載せずに最初の実行時からコンパイルする[4]。
開発リーダーは、Java HotSpot の開発者でもある、ラース・バク。
V8のアセンブラは、Strongtalkのアセンブラをベースとしている。
2010年12月に”Crankshaft”と呼ばれる最適化コンパイラが導入されスピードが改善された。
2017年5月にリリースされたv5.9からそれまで利用されてきたコンパイラ”Full-Codegen”と最適化コンパイラ”Crankshaft”が取り除かれて3年半に渡って開発が行われていたインタプリタ”Ignition”とコンパイラ”TurboFan”の組み合わせに置き換えられ、メモリ消費量の削減とスピードの改善が行われた[7]。
参照
- ^ “V8 release v8.0”. V8 Project. 2020年2月13日閲覧。
- ^ “Introduction - Chrome V8”. Google Developers. 2014年9月8日閲覧。
- ^ “Chrome V8 - Google Developers”. Google Developers. 2014年9月8日閲覧。
- ^ a b Design Elements - Google V8 JavaScript Engine - Google Code
- ^ “「V8」エンジンに込めた高速化の願い、Google Chromeの狙いとは”. ITmedia (2008年9月3日). 2011年12月24日閲覧。
- ^ an overview of TraceMonkey ✩ hacks.mozilla.org
- ^ Launching Ignition and TurboFan