Few updates in V8 7.5 Beta
WebAssembly implicit caching
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.
- table.copy: Similar to memory.copy, it copies from one region of a table to another, even if the regions are overlapping.
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.