Movatterモバイル変換


[0]ホーム

URL:


コンテンツにスキップ
Wikipedia
検索

V8 (JavaScriptエンジン)

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

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

概要

[編集]

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

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

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

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]

脚注

[編集]
[脚注の使い方]
  1. ^Chrome Platform Status”. 2023年6月29日閲覧。
  2. ^Documentation”. V8 Project. 2020年2月27日閲覧。
  3. ^abDesign Elements - Google V8 JavaScript Engine - Google Code
  4. ^「V8」エンジンに込めた高速化の願い、Google Chromeの狙いとは”. ITmedia (2008年9月3日). 2011年12月24日閲覧。
  5. ^an overview of TraceMonkey ✩ hacks.mozilla.org
  6. ^Launching Ignition and TurboFan
  7. ^Sparkplug — a non-optimizing JavaScript compiler · V8
  8. ^Maglev - V8's Fastest Optimizing JIT” (2023年12月5日). 2024年5月7日閲覧。

関連項目

[編集]
ウィキメディア・コモンズには、V8 (JavaScriptエンジン)に関連するカテゴリがあります。
  • Blink - Chromiumベースのブラウザで採用されているレンダリングエンジン
  • Node.js JavaScriptランタイム
  • Deno JavaScriptランタイム

外部リンク

[編集]


概念
エンジン
コンパイラ
デバッガ
エディタ
サーバーサイド
フレームワーク
ライブラリ
ユニットテスト
Docジェネレータ
コード解析
パッケージ管理
アプリケーション
バンドラー
関連技術
人物
方言
エンジン英語版
フレームワーク
ライブラリ
クライアントサイド
サーバーサイド
ライブラリ
人物
その他
スタブアイコン

この項目は、ソフトウェアに関連した書きかけの項目です。この項目を加筆・訂正などしてくださる協力者を求めていますPJ:コンピュータ/P:コンピュータ)。

https://ja.wikipedia.org/w/index.php?title=V8_(JavaScriptエンジン)&oldid=107375455」から取得
カテゴリ:
隠しカテゴリ:

[8]ページ先頭

©2009-2025 Movatter.jp