V8
開発元Google
初版2008年9月2日 (15年前) (2008-09-02)
最新版11.4[1]
V8は、Googleが開発するオープンソースのJIT Virtual 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]。
概要
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]。
脚注[脚注の使い方]^ "Chrome Platform Status"; 閲覧日: 2023年6月29日.
^ “Documentation”. V8 Project. 2020年2月27日閲覧。
^ 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
^ Sparkplug ? a non-optimizing JavaScript compiler ・ V8
^ “Maglev - V8's Fastest Optimizing JIT” (2023年12月5日). 2024年5月7日閲覧。
関連項目.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}ウィキメディア・コモンズには、V8 (JavaScriptエンジン)に関連するカテゴリがあります。
Blink - Chromiumベースのブラウザで採用されているレンダリングエンジン
Node.js JavaScriptランタイム
Deno JavaScriptランタイム
外部リンク
公式ウェブサイト (英語)
表
話
編
歴
JavaScript
概念
文法(英語版)
JavaScriptライブラリ
控えめなJavaScript
エンジン
Carakan/Futhark/Linear B
Chakra
JavaScriptCore
JScript
KJS
Narcissus
Nashorn
Rhino
SpiderMonkey
V8
コンパイラ
AtScript
Babel
ClojureScript
CoffeeScript
Emscripten
Google Closure Compiler
Google Web Toolkit
Haxe
JSX(英語版)
Kotlin
Nim
PureScript
TypeScript
デバッガ
Firebug
Google Chrome Developer Tools
Internet Explorer Developer Tools
Opera Dragonfly
Visual Studio
Visual Studio Express
Visual Studio Code
Web Inspector
エディタ
Atom
Brackets
Visual Studio
Visual Studio Express
Light Table
Visual Studio Code
WebStorm
サーバーサイド
Active Server Pages
Bun
CommonJS
Deno
Node.js
Vert.x(英語版)
Wakanda(英語版)
フレームワーク・ライブラリ
Angular/AngularJS
Backbone.js
Dojo
Express.js
Ext JS
Google Web Toolkit
jQuery
Mobile
KaTeX
MathJax
MochiKit
MooTools
Prototype
React
Vue.js
YUI Library(英語版)
ユニットテスト
Jasmine(英語版)