BT

Google Releases Versions 7.0 and 7.1 of V8 JavaScript Engine

| by Dylan Schiemann Follow 10 Followers on Nov 08, 2018. Estimated reading time: 2 minutes |

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.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Discuss
BT