String.js has been completely ported to CodeStubAssembler. Thanks a lot to @peterwmwong for his awesome contributions! As a developer this means that builtin string functions like String#trim are a lot faster starting with 6.3.
Fixed the 100× regression due to hash collisions (https://bugs.chromium.org/p/v8/issues/detail?id=6916#c10)
Object.is()’s performance is now roughly on-par with alternatives. In general, 6.3 continues the path to better the ES2015+ performance. Beside other items we boosted the speed of polymorphic access to symbols, polymorphic inlining of constructor calls and (tagged) template literals.
|V8’s performance over the past six releases|
Weak optimized function list is gone. More information can be found in the dedicated blog post.
The mentioned items are a non-exhaustive list of speed improvements. Lot’s of other performance-related work has happened.
Write barriers are switched over to using the CodeStubAssembler. This saves around 100kb of memory per isolate.
With dynamic module import it is very straightforward to import modules based on runtime conditions. This comes in handy when an application should lazy load certain code modules.
Promise.prototype.finally introduces a way to easily cleanup after a promise is settled.
Iterating with async functions got more ergonomic with the introduction of async iterators/generators.
In Chrome 63 block coverage is also supported in the DevTools UI. Please note that the inspector protocol already supports block coverage since V8 6.2.
Please check out our summary of API changes. This document is regularly updated a few weeks after each major release.
Developers with an active V8 checkout can use git checkout -b 6.3 -t branch-heads/6.3 to experiment with the new features in V8 6.3. Alternatively you can subscribe to Chrome’s Beta channel and try the new features out yourself soon.
Posted by the V8 team
Source: V8 Release 6.3