V8_(JavaScriptエンジン)
[Wikipedia|▼Menu]

V8
開発元Google
初版2008年9月2日 (15年前) (2008-09-02)

最新版11.4[1]  / 2023年5月24日 (11か月前)
リポジトリ

chromium.googlesource.com/v8/v8

プログラミング
言語C++
対応OSWindows 7 以降
macOS 10.12 以降
Linux
プラットフォームx64, IA-32, ARM, MIPS[2]
種別JavaScriptエンジン
ライセンス修正BSDライセンス
公式サイトv8.dev
テンプレートを表示

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]

開発リーダーは、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]
脚注[脚注の使い方]^ "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


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:23 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef