Offered in a beta release this past weekend, Version 5.1 has preliminary support for WebAssembly, a much-heralded attempt to improve Web performance via a bytecode format in browsers. "You can enable it via the flag
Also, constructors can implement a "Symbol.hasInstance" method to override the default behavior. "Function names inferred for function expressions are now typically made available in the name property of functions, following the ES2015 formalization of these rules," said the team. This may change existing stack traces and provide different names from previous V8 versions. "It also gives useful names to properties and methods with computed property names."
Object.assign, for copying values of enumerable own properties from source objects to a target object;
Array.prototype.join, for joining elements in an array into a string; and
Array.prototype.toString, which returns a string representing an array and its elements.
For garbage collection, V8 5.1 implements more of the Orinoco garbage collector, including parallel young generation evacuation, scalable remembered sets, and black allocation, which is an improvement to the object marking phase of the garbage collector. Orinoco is based on the notion that implementing a mostly parallel and concurrent garbage collector without strict generational boundaries reduces garbage collection junk and memory usage while providing high throughput.
Sign up for Computerworld eNewsletters.