Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon

V8 7.5 Beta is now out with WebAssembly implicit caching, bulk memory operations, and more

Save for later
  • 3 min read
  • 17 May 2019

article-image

Yesterday, the team behind Google Chrome’s JavaScript and WebAssembly engine, V8 announced the release of V8 7.5 beta. As per V8’s release cycle, its stable version will release in coordination with Chrome 75 stable release, which is expected to come out early June. This release comes with WebAssembly implicit caching, bulk memory operations, JavaScript numeric separators for better readability, and more.

Few updates in V8 7.5 Beta

WebAssembly implicit caching


The team is planning to introduce implicit caching of WebAssembly compilation artifacts in Chrome 75, which is similar to Chromium’s JavaScript code cache. Code caching is an important way of optimizing browsers, which reduces the start-up time of commonly visited web pages by caching the result of parsing and compilation.

This essentially means that if a user visits the same web page a second time, the already-seen WebAssembly modules will not be compiled again, and will instead be loaded from the cache.

WebAssembly bulk memory operations


V8 7.5 will come with a few new WebAssembly instructions for updating large regions of memory or tables. The following are some of these instructions:

  • memory.fill: It fills a memory region with a given byte.
  • memory.copy: It copies data from a source memory region to a destination region, even if these regions overlap.
  • Unlock access to the largest independent learning library in Tech for FREE!
    Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
    Renews at €18.99/month. Cancel anytime
  • table.copy: Similar to memory.copy, it copies from one region of a table to another, even if the regions are overlapping.

JavaScript numeric separators for better readability


The human eye finds it difficult to quickly parse a large numeric literal, especially when it contains long digit repetitions, for instance, 10000000. To improve the readability of long numeric literals, a new feature is added that allows using underscores as a separator creating a visual separation between groups of digits. This feature works with both integers and floating point.

Streaming script source data directly from the network


In previous Chrome versions, the script source data coming in from the network always had to first go to the Chrome main thread before it was forwarded to the streamer. This made the streaming parser to wait for data that has already arrived from the network but hadn’t been forwarded to the streaming task yet because it was blocked at the main thread. Starting from Chrome 75, V8 will be able to stream scripts directly from the network into the streaming parser, without waiting for the Chrome main thread.

To know more, check out the official announcement on V8 Blog.

Electron 5.0 ships with new versions of Chromium, V8, and Node.js

Introducing Node.js 12 with V8 JavaScript engine, improved worker threads, and much more

V8 7.2 Beta releases with support for public class fields, well-formed JSON.stringify, and more