Chrome V8

Developer(s)| The Chromium Project
Initial release| September 2, 2008; 17 years ago (2008-09-02)
Stable release|

7.0[1] / October 15, 2018; 7 years ago (2018-10-15)

Written in| C++,[2] JavaScript[2]
Platform| IA-32, x86-64, ARM, MIPS,[3] PowerPC, IBM s390
Type| JavaScript engine
License| BSD[4]
Website| v8.dev

Chrome V8, or simply V8, is an open-source JavaScript engine developed by The Chromium Project for Google Chrome and Chromium web browsers.[5] The project’s creator is Lars Bak.[6] The first version of the V8 engine was released at the same time as the first version of Chrome: September 2, 2008. It has also been used in Couchbase, MongoDB and Node.js that are used server-side.

V8 compiles JavaScript directly to native machine code before executing it, instead of more traditional techniques such as interpreting bytecode or compiling the whole program to machine code and executing it from a filesystem. The compiled code is additionally optimized (and re-optimized) dynamically at runtime, based on heuristics of the code's execution profile. Optimization techniques used include inlining, elision of expensive runtime properties, and inline caching. The garbage collector is a generational incremental collector.[7]

V8 can compile to x86, ARM or MIPS instruction set architectures in both their 32- and 64-bit editions; as well, it has been ported to PowerPC[8] and IBM s390[9][10] for use in servers.[3][11]

## Contents

* 1 History
* 2 Usage
* 3 See also
* 4 References
* 5 External links

## History

The V8 assembler is based on the Strongtalk assembler.[12] On 7 December 2010, a new compiling infrastructure named Crankshaft was released, with speed improvements.[13] Since version 41 of Chrome in 2015, project TurboFan has been added to enable more speed, e.g. for asm.js.[14]

In 2016, the Ignition interpreter was added to V8 with the design goal of reducing the memory usage on small memory Android phones in comparison with TurboFan and Crankshaft.[15]

In 2017, V8 shipped a brand-new compiler pipeline, consisting of Ignition (the interpreter) and TurboFan (the optimizing compiler). Starting with V8 version 5.9, Full-codegen and Crankshaft are no longer used in V8 for JavaScript execution, since the team believes they are no longer able to keep pace with new JavaScript language features and the optimizations those features require.[16]

## Usage

V8 is intended to be used both in a browser and as a standalone high-performance engine that can be integrated into independent projects. V8 is used in the following software:

* Google Chrome, Chromium, Opera and Vivaldi web browsers
* Couchbase database
* Node.js runtime environment[17]
* Electron software framework, the underlying component for Atom and Visual Studio Code text editors
* NativeScript, open source framework for building truly native mobile apps with JavaScript[18]
* MarkLogic Server, a document-oriented database

## See also

* JavaScriptCore
* SpiderMonkey
* ChakraCore
* ECMAScript
* Just-in-time compilation
* List of ECMAScript engines
* Dart (programming language)
* Blink (layout engine)

## References

1. ↑ "V8 release v7.0". 2018-10-15. https://v8.dev/blog/v8-release-70.
2. ↑ 2.0 2.1 "V8 JavaScript Engine". Google Code. https://code.google.com/p/v8/.
3. ↑ 3.0 3.1 "Introduction - Chrome V8". Google Developers. https://developers.google.com/v8/intro.
4. ↑ "v8/LICENSE.v8 at master". Github. https://github.com/v8/v8/blob/master/LICENSE.v8.
5. ↑ Lenssen, Philipp (1 September 2008). "Google on Google Chrome - comic book". Google Blogoscoped. Google. http://blogoscoped.com/google-chrome/. Retrieved 17 August 2010.
6. ↑ Minto, Rob (27 March 2009). "The genius behind Google’s web browser". Financial Times. http://www.ft.com/cms/s/2/03775904-177c-11de-8c9d-0000779fd2ac.html. Retrieved 17 August 2010.
7. ↑ "A game changer for interactive performance". Chromium Blog. Google. https://blog.chromium.org/2011/11/game-changer-for-interactive.html. Retrieved 1 May 2012.
8. ↑ https://github.com/andrewlow/v8ppc
9. ↑ https://github.com/andrewlow/v8z
10. ↑ https://developer.ibm.com/opentech/2015/06/30/ppc-support-for-google-v8-goes-mainstream/
11. ↑ "V8 Changelog v3.8.2". Google. http://v8.googlecode.com/svn/trunk/ChangeLog. Retrieved 23 October 2012.
12. ↑ "V8 JavaScript Engine: License". Google Code. Google. Archived from the original on July 22, 2010. https://web.archive.org/web/20100722105022/http://code.google.com/p/v8/source/browse/trunk/LICENSE. Retrieved 17 August 2010.
13. ↑ "A New Crankshaft for V8". Chromium Blog. Google. 7 December 2010. https://blog.chromium.org/2010/12/new-crankshaft-for-v8.html. Retrieved 22 April 2011.
14. ↑ "Revving up JavaScript performance with TurboFan". 7 July 2015. https://blog.chromium.org/2015/07/revving-up-javascript-performance-with.html. Retrieved 5 March 2016.
15. ↑ "BlinkOn 6 Day 1 Talk 2: Ignition - an interpreter for V8". 26 June 2016. https://www.youtube.com/watch?v=r5OWCtuKiAk. Retrieved 2 September 2016.
16. ↑ "Launching Ignition and TurboFan". 16 May 2017. https://v8project.blogspot.com/2017/05/launching-ignition-and-turbofan.html. Retrieved 13 July 2017.
17. ↑ Jolie O'Dell (March 10, 2011). "Why Everyone Is Talking About Node". Mashable. http://mashable.com/2011/03/10/node-js/.
18. ↑ "NativeScript Android Runtime Overview". https://docs.nativescript.org/runtimes/android/overview.

## External links

* at Google Code

* v
* t
* e

ECMAScript

Dialects|

* ActionScript
* Caja
* JavaScript
* engines
* asm.js
* JScript
* JScript .NET
* QtScript
* TypeScript
* WMLScript

Engines
(comparison)|

* Carakan
* Futhark
* InScript
* JavaScriptCore
* JScript
* KJS
* Linear B
* Narcissus
* QtScript
* Rhino
* SpiderMonkey
* TraceMonkey
* JägerMonkey
* Tamarin
* V8
* ChakraCore
* Chakra
* JScript .NET
* Nashorn

Frameworks|

| Client-side|

* Chaplin.js
* Dojo
* Echo
* Ext JS
* Google Web Toolkit
* jQuery
* Lively Kernel
* midori
* MochiKit
* MooTools
* Prototype
* Pyjs
* qooxdoo
* Rialto
* Rico
* script.aculo.us
* SmartClient
* SproutCore
* Spry
* Wakanda Framework

|

Server-side|

* AppJet
* Jaxer
* Node.js
* WakandaDB

Multiple|

* Cappuccino
* Objective-J
* PureMVC

Libraries|

* Backbone.js
* SWFObject
* SWFAddress
* Underscore.js

People|

* Brendan Eich
* Douglas Crockford
* John Resig
* Scott Isaacs

Other|

* DHTML
* Ecma International
* JSDoc
* JSGI
* JSHint
* JSLint
* JSON
* JSSS
* Sputnik
* SunSpider
* Asynchronous module definition
* CommonJS

Lists
JavaScript libraries
Ajax frameworks
Comparisons
JavaScript frameworks
server-side JavaScript

* v
* t
* e

Google

* Alphabet Inc.
* Android
* Devices
* Nexus
* Pixel
* Maps
* YouTube

Company|

* Overview
* Alphabet Inc.
* History
* List of mergers and acquisitions by Alphabet
* List of products
* Criticism
* Privacy concerns
* Censorship
* Litigation
* Don't be evil

Real estates|

* 111 Eighth Avenue
* Chelsea Market
* Googleplex
* Data centers

Advertising|

* AdMob
* Adscape
* Ads
* AdSense
* Analytics
* Contributor

Events|

* Code-in
* Code Jam
* Developer Day
* I/O
* Science Fair
* Summer of Code
* Talks at Google

People|

* Al Gore
* Alan Eustace
* Alan Mulally
* Amit Singhal
* Ann Mather
* David Drummond
* Eric Schmidt
* Jeff Dean
* John Doerr
* John L. Hennessy
* Krishna Bharat
* Matt Cutts
* Patrick Pichette
* Paul Otellini
* Omid Kordestani
* Rachel Whetstone
* Rajen Sheth
* Ram Shriram
* Ray Kurzweil
* Ruth Porat
* Salar Kamangar
* Sanjay Ghemawat
* Shirley M. Tilghman
* Sundar Pichai
* Susan Wojcicki
* Urs Hölzle
* Vint Cerf
* Hal Varian

Terms|

* Gayglers
* Google Developer Expert

Founders|

* Larry Page
* Sergey Brin

Typefaces|

* Noto
* Roboto
* Product Sans

Products|

| Software|

* Assistant
* Camera
* Lens
* Goggles
* Chrome
* for Android
* Web Store
* Chromium
* Cloud Print
* Earth
* Gadgets
* Gboard
* IME
* Japanese
* Pinyin
* Pay
* Pay Send
* Photos
* Keep
* News
* Now
* OpenRefine
* Snapseed
* Waze

Operating systems|

* Android
* version history
* software development
* Android Automotive
* Android TV
* Wear OS
* List of devices
* Chrome OS
* Apps
* Fuchsia

Programming languages|

* Dart
* Go
* Sawzall

Frameworks|

* Angular
* AngularJS
* AJAX APIs
* Dialogflow
* Flutter
* Guava
* Guice
* TensorFlow

Communication|

* Alerts
* Apps Script
* Duo
* Calendar
* Contacts
* Gmail
* history
* interface
* Groups
* Hangouts
* Chat
* Meet
* Sync
* Text-to-Speech
* Translate
* Transliteration
* Voice

Platforms|

* Account
* Authenticator
* Android Auto
* ZygoteBody
* Cast
* Cloud Platform
* App Engine
* BigQuery
* Bigtable
* Compute Engine
* Storage
* Fit
* GFS
* G Suite
* Classroom
* Marketplace
* Native Client
* OpenSocial
* Pay
* Send
* Primer
* Play
* Books
* Games
* Movies & TV
* Music
* Public DNS
* Safe Browsing
* Stadia
* Tango
* YouTube TV

Development|

* App Inventor
* Caja
* Closure Tools
* Developers
* Firebase
* GData
* KML
* Kythe
* MapReduce
* Owlchemy Labs
* Web Toolkit
* Search Console
* Website Optimizer
* Swiffy

Publishing|

* AMP
* Blogger
* Domains
* Drive
* Docs
* Sheets
* Slides
* Drawings
* Forms
* Fusion Tables
* FeedBurner
* Google Podcasts
* Sites
* YouTube
* Instant
* Premium
* Vevo
* Zagat

Search
(timeline)|

* Blog Search
* Books
* Ngram Viewer
* Custom Search
* Dataset Search
* Dictionary
* Finance
* Flights
* Googlebot
* Images
* Maps
* Street View
* Coverage
* Privacy concerns
* News
* Archive
* Patents
* Public Data
* Scholar
* Shopping
* Tenor
* Videos

Algorithms|

* PageRank
* Panda
* Penguin
* Hummingbird

Features|

* Personalized
* SafeSearch
* Voice Search

Analysis|

* Insights for Search
* Trends
* Knowledge Graph and Vault

Hardware|

* Glass
* Home
* Jamboard
* Wifi
* OnHub

Virtual reality|

* Cardboard
* Daydream

Nest|

* Nest Learning Thermostat
* Nest

Smartphones|

* Nexus
* Pixel

Chrome|

* Chromebit
* Chromecast
* Chromebook
* Chromebox

Other|

* .google
* Arts & Culture
* ATAP
* Chrome Zone
* Data Transfer Project
* Dragonfly
* Current
* Chrome Experiments
* Google Business Groups
* Made with Code
* Data Liberation
* Takeout
* Google (verb)
* Google China
* Google Express
* Googlization
* Google.org
* Logo and related
* Doodle4Google
* Google Doodles
* Lunar X Prize
* Google Fi
* Google Station
* Material Design
* Motorola Mobility
* Nest Labs
* reCAPTCHA
* Sunroof
* WiFi
* AI Challenge
* Easter eggs
* elgooG

Related|

* Google bombing
* Goojje
* Monopoly City Streets
* Unity

Documentaries|

* Google: Behind the Screen
* Google: The Thinking Factory
* Google and the World Brain

* Category
*   *   * Discontinued products and services

* v
* t
* e

Node.js

Platform|

* Node.js
* NPM
* V8
* CommonJS

Frameworks|

* MEAN
* MongoDB
* Express.js
* AngularJS/Angular
* MEEN (substituted with Ember.js)
* Backbone.js
* Meteor

Libraries|

* Lodash
* Underscore.js
* React.js
* Vue.js

Languages|

* JavaScript
* CoffeeScript
* TypeScript

0.00

(0 votes)

|

Retrieved from "https://handwiki.org/wiki/index.php?title=Software:Chrome_V8&oldid=729795"
*[v]: View this template
*[t]: Discuss this template
*[e]: Edit this template