Hello, World!
Welcome to the V8 Developer blog!Historically, the V8 team has published blog posts on the Chromium blog that appeal to the wider web development audience. In order to deliver more in-depth posts...
View ArticleDigging into the TurboFan JIT
Last week we announced that we've turned on TurboFan for certain types of JavaScript. In this post we wanted to dig deeper into the design of TurboFan.Performance has always been at the core of V8’s...
View ArticleV8 4.5 release
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View ArticleCode caching
V8 uses just-in-time compilation (JIT) to execute Javascript code. This means that immediately prior to running a script, it has to be parsed and compiled - which can cause considerable overhead. As we...
View ArticleGetting Garbage Collection for Free
JavaScript performance continues to be one of the key aspects of Chrome's values, especially when it comes to enabling a smooth experience. Starting in Chrome 41, V8 takes advantage of a new technique...
View ArticleV8 Release 4.6
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View ArticleCustom startup snapshots
The JavaScript specification includes a lot of built-in functionality, from math functions to a full-featured regular expression engine. Every newly-created V8 context has these functions available...
View ArticleV8 Release 4.7
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View ArticleJank Busters Part One
Jank, or in other words visible stutters, can be noticed when Chrome fails to render a frame within 16.66ms (disrupting 60 frames per second motion). As of today most of the V8 garbage collection work...
View ArticleV8 Release 4.8
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View ArticleThere's Math.random(), and then there's Math.random()
Randomness visualization before PRNG update (V8 4.7) and after (V8 4.9) (visualization by Mike Malone, http://bl.ocks.org/mmalone/bf59aa2e44c44dde78ac, CC-BY-4.0)Math.random()Returns a Number value...
View ArticleV8 Release 4.9
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View ArticleV8 Extras
V8 implements a large subset of the JavaScript language’s built-in objects and functions in JavaScript itself. For example, you can see our promises implementation is written in JavaScript. Such...
View ArticleRegExp lookbehind assertions
Introduced with the third edition of the ECMA-262 specification, regular expressions have been part of Javascript since 1999. In functionality and expressiveness, JavaScript’s implementation of regular...
View ArticleV8 Release 5.0
The first step in the V8 release process is a new branch from the git master immediately before Chromium branches for a Chrome Beta milestone (roughly every six weeks). Our newest release branch is V8...
View ArticleExperimental support for WebAssembly in V8
For a comprehensive overview of WebAssembly and a roadmap for future community collaboration, see A WebAssembly Milestone on the Mozilla Hacks blog.Since June 2015, collaborators from Google, Mozilla,...
View ArticleJank Busters Part Two: Orinoco
In a previous blog post, we introduced the problem of jank caused by garbage collection interrupting a smooth browsing experience. In this blog post we introduce three optimizations that lay the...
View ArticleV8 Release 5.1
The first step in the V8 release process is a new branch from the git master immediately before Chromium branches for a Chrome Beta milestone (roughly every six weeks). Our newest release branch is V8...
View ArticleES6, ES7, and beyond
The V8 team places great importance on the evolution of JavaScript into an increasingly expressive and well-defined language that makes writing fast, safe, and correct web applications easy. In June...
View ArticleRelease 5.2
Roughly every six weeks, we create a new branch of V8 as part of our release process. Each version is branched from V8’s git master immediately before Chrome branches for a Chrome Beta milestone. Today...
View Article