V8 (JavaScript engine)

From Wikipedia, the free encyclopedia
  (Redirected from V8 JavaScript engine)
Jump to: navigation, search
V8 JavaScript Engine
V8 JavaScript engine logo.png
Developer(s) The Chromium Project
Stable release 4.5[1] / September 8, 2015; 5 months ago (2015-09-08)
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.google.com/v8

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, 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[edit]

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]

Usage[edit]

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,[14] or client side JavaScript in .NET/Mono using V8.NET.

See also[edit]

References[edit]

External links[edit]