The recent 7.0 and 7.1 versions of Google's V8 JavaScript engine improve JavaScript memory performance, add key features for WebAssembly, and introduce several minor language improvements.
Version 7.0 and 7.1 improve support for Embedded builtins, which saves memory by sharing generated code across multiple V8 Isolates. Initially shipped in version 6.9 for x64 platforms, version 7.0 adds support to all supported platforms except ia32. Version 7.1 follows on this work by adding bytecode handlers embedded into the binary.
WebAssembly has also received key improvements in these releases. Version 7.0 adds an early preview of WebAssembly Threads which are enabled by a feature flag: chrome://flags/#enable-webassembly-threads
. Websites may also register for an Origin Trial to experiment with new web features before they are fully standardized, which will help the Chrome team gather real-world feedback to validate and improve new features.
V8 version 7.1 adds postMessage support for WebAssembly modules, allowing WebAssembly.Module
objects to get sent via postMessage
to web workers. Currently this is limited to web workers (same process, different thread) and is not available for cross-process scenarios (cross-origin postMessage
or shared web workers).
Several JavaScript language features get included with the latest versions of V8. Version 7.0 adds the description property to Symbol.prototype
, giving a more ergonomic mechanism for accessing a Symbol's description. The Symbol description accessor is a stage 3 TC39 proposal and expected to be part of ES2019, next year's version of the JavaScript standard. Performance of Array.prototype.sort also improves with the 7.0 release.
Version 7.1 adds support for Intl.RelativeTimeFormat
, an API providing performant localized formatting of relative times (e.g., tomorrow, 25 seconds ago, or in six weeks). Also included with 7.1 is support for the globalThis
proposal, a mechanism for accessing the global object when in strict functions or modules, regardless of the underlying platform.
Finally, performance improvements were made to better handle local function contexts for higher-order functions.
Google creates branch releases of its V8 JavaScript engine every six weeks to coincide with Google Chrome releases. Version 7.0 of V8 ships with Chrome 70 and 7.1 with Chrome 71. V8 also powers the Node.js JavaScript runtime.
V8 is open source software with several applicable licenses to subsets of the codebase due to external dependencies. Contributions are welcome via the V8 Git project and should follow V8's contribution guidelines and Google's open source conduct guidelines.