Skip to main content

V8 release v9.0

· 4 min read
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser)), standing inline

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 a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 9.0, which is in beta until its release in coordination with Chrome 90 Stable in several weeks. V8 v9.0 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.

Faster releases

· One min read
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser))

In order to ship new features and bug fixes faster to its users, Chrome is speeding up its release cycle.

In order to match Chrome’s new release cadence, V8 will also start to tag a major release branch every 4 weeks (instead of the previous 6). Every second major release branch will also be maintained for 8 weeks for embedders who prefer to stay on a less frequent update schedule.

Super fast `super` property access

· 7 min read
[Marja Hölttä](https://twitter.com/marjakh), super optimizer

The super keyword can be used for accessing properties and functions on an object’s parent.

Previously, accessing a super property (like super.x) was implemented via a runtime call. Starting from V8 v9.0, we reuse the inline cache (IC) system in non-optimized code and generate the proper optimized code for super property access, without having to jump to the runtime.

Faster JavaScript calls

· 20 min read
[Victor Gomes](https://twitter.com/VictorBFG), the frame shredder

JavaScript allows calling a function with a different number of arguments than the expected number of parameters, i.e., one can pass fewer or more arguments than the declared formal parameters. The former case is called under-application and the latter is called over-application.

V8 release v8.9

· 3 min read
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser)), awaiting a call

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 a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 8.9, which is in beta until its release in coordination with Chrome 89 Stable in several weeks. V8 v8.9 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.

An additional non-backtracking RegExp engine

· 8 min read
Martin Bidlingmaier

Starting with v8.8, V8 ships with a new experimental non-backtracking RegExp engine (in addition to the existing Irregexp engine) which guarantees execution in linear time with respect to the size of the subject string. The experimental engine is available behind the feature flags mentioned below.

V8 release v8.7

· 3 min read
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser)), a V8 flag bearer

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 a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 8.7, which is in beta until its release in coordination with Chrome 87 Stable in several weeks. V8 v8.7 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.

Indicium: V8 runtime tracer tool

· 8 min read
Zeynep Cankara ([@ZeynepCankara](https://twitter.com/ZeynepCankara))

The past three months have been an awesome learning experience for me as I've joined the V8 team (Google London) as an intern, and have been working on a new tool called Indicium.

This system analyzer is a unified web interface to trace, debug and analyse patterns of how Inline Caches (ICs) and Maps are created and modified in real-world applications.

V8 already has a tracing infrastructure for ICs and Maps which can process and analyse IC events using the IC Explorer and Map events using Map Processor. However, previous tools didn't allow us to analyze maps and ICs holistically and this is now possible with system analyzer.

Slack tracking in V8

· 18 min read
Michael Stanton ([@alpencoder](https://twitter.com/alpencoder)), renowned master of *slack*

Slack tracking is a way to give new objects an initial size that is larger than what they may actually use, so they can have new properties added quickly. And then, after some period of time, to magically return that unused space to the system. Neat, huh?

V8 release v8.6

· 6 min read
Ingvar Stepanyan ([@RReverser](https://twitter.com/RReverser)), a keyboard fuzzer

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 a Chrome Beta milestone. Today we’re pleased to announce our newest branch, V8 version 8.6, which is in beta until its release in coordination with Chrome 86 Stable in several weeks. V8 v8.6 is filled with all sorts of developer-facing goodies. This post provides a preview of some of the highlights in anticipation of the release.