トップQs
タイムライン
チャット
視点

V8 (JavaScriptエンジン)

JavaScriptエンジン ウィキペディアから

Remove ads

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

概要 開発元, 初版 ...
Remove ads

概要

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]

Remove ads

脚注

Loading content...

関連項目

外部リンク

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads