V8 (JavaScriptエンジン)

JavaScriptエンジン From Wikipedia, the free encyclopedia

V8は、Googleが開発するオープンソースJIT仮想マシン型のJavaScriptエンジンである[3]。この名前は同じく「V8」と略されるV型8気筒エンジンに由来している[4]Google ChromeなどのChromiumベースのブラウザや、Node.jsなどで採用されている。

初版 2008年9月2日 (17年前) (2008-09-02)
最新版
11.4[1] ウィキデータを編集 / 2023年5月24日 (2年前)
概要 開発元, 初版 ...
V8
V8ロゴ
開発元 Google
初版 2008年9月2日 (17年前) (2008-09-02)
最新版
11.4[1] ウィキデータを編集 / 2023年5月24日 (2年前)
リポジトリ ウィキデータを編集
プログラミング
言語
C++
対応OS Windows 7 以降
macOS 10.12 以降
Linux
プラットフォーム x64, IA-32, ARM, MIPS[2]
種別 JavaScriptエンジン
ライセンス 修正BSDライセンス
公式サイト v8.dev ウィキデータを編集
テンプレートを表示
閉じる

概要

ECMAScript (ECMA-262) 準拠で、C++で記述されている。スタンドアローンでの実行が可能なほか、C++で書かれたアプリケーションの一部として動作させることもできる。

Firefox 3.5で導入されたJavaScriptエンジンTraceMonkeyでは、インタプリタで実行して統計情報をとった後に[5]、中間コードに変換し、その上でJITコンパイルしていた。しかしV8では、中間コードもなく、インタプリタも搭載せずに最初の実行時からコンパイルするため、高速に作動する[3]

開発リーダーは、Java HotSpot の開発者でもある、ラース・バク英語版

V8のアセンブラは、Strongtalk英語版のアセンブラをベースとしている。

2010年12月に "Crankshaft" と呼ばれる最適化コンパイラが導入されスピードが改善された。

2017年5月にリリースされたv5.9から、それまで利用されてきたコンパイラ "Full-Codegen" と最適化コンパイラ "Crankshaft" が取り除かれて3年半に渡って開発が行われていたインタプリタ "Ignition" とコンパイラ "TurboFan" の組み合わせに置き換えられ、メモリ消費量の削減とスピードの改善が行われた[6]

2021年5月にリリースされたv9.1から、最適化コンパイラ "Sparkplug" がパイプラインの "Ignition" と "TurboFan" の間に追加された。"Sparkplug" はバイトコードから1パスで直接機械語に高速にコンパイルする[7]

2023年に静的単一代入を用いたコンパイラ "Maglev" が "Sparkplug" と "TurboFan" の間に追加された。コンパイル速度は "Sparkplug" よりも10倍遅いが "TurboFan" よりも10倍速い[8]

脚注

関連項目

外部リンク

Related Articles

Wikiwand AI