V8 (JavaScript engine)
![]() |
|
Developer(s) | The Chromium Project |
---|---|
Stable release | 5.1[1] / April 23, 2016 |
Development status | Active |
Written in | C++,[2] JavaScript[2] |
Operating system | Cross-platform |
Platform | IA-32, x86-64, ARM, MIPS,[3] PowerPC, IBM s390 |
Type | JavaScript engine |
License | BSD[4] |
Website | developers |
The V8 JavaScript Engine is an open source JavaScript engine developed by The Chromium Project for the Google Chrome web browser.[5] It has since seen use in many other projects, such as Couchbase, MongoDB and Node.js that are used server side. As of 2012[update], the head programmer 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.
V8 compiles JavaScript to native machine code (IA-32, x86-64, ARM, or MIPS ISAs; has also been ported to PowerPC[7] and IBM s390[8][9] for use in servers)[3][10] 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, among many others.
Details
The garbage collector of V8 is a generational incremental collector.[11] 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]
Usage
V8 is intended to be used both in a browser (notably in Chrome and Chromium browsers) and as a standalone high-performance engine that can be integrated into independent projects, for example server-side JavaScript in Node.js,[15] MongoDB, CouchDB, or client side JavaScript in .NET/Mono using V8.NET.
See also
<templatestyles src="Div col/styles.css"/>
References
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 2.0 2.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ 3.0 3.1 Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ https://github.com/andrewlow/v8ppc
- ↑ https://github.com/andrewlow/v8z
- ↑ https://developer.ibm.com/opentech/2015/06/30/ppc-support-for-google-v8-goes-mainstream/
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
- ↑ Lua error in package.lua at line 80: module 'strict' not found.
External links
![]() |
Wikimedia Commons has media related to V8 (JavaScript engine). |
- No URL found. Please specify a URL here or add one to Wikidata. at Google Code
- Google's Lars Bak V8: an open source JavaScript engine on YouTube
- How the V8 engine works?, by Thibault Laurens, 29 April 2013
- JSConf2012 – presentation on what is V8 able to do, by Vyacheslav Egorov at jsconf
- V8.NET – a wrapper for .NET at Codeplex
- REDIRECT Template:Google LLC
<templatestyles src="Asbox/styles.css"></templatestyles>
<templatestyles src="Asbox/styles.css"></templatestyles>
- Articles containing potentially dated statements from 2012
- Commons category link is defined as the pagename
- Official website missing URL
- Official blog different in Wikidata and Wikipedia
- Free compilers and interpreters
- Google Chrome
- Google software
- JavaScript engines
- Software using the BSD license
- Virtual machines
- Free software stubs
- Google stubs