programming JavaScript Jan 21, 2016

Chrome 49 is coming, with 92% ES2015 coverage!

December 11, Chrome 49 landed on the Dev channel. This week, with already two new releases of Chrome 49 (opens new window) to the Dev channel, the process seems to intensify.

On Tuesday Seth Thompson (opens new window), who works on V8, wrote on HN (opens new window) that "V8 now has 92% ES6 coverage in Chrome Canary (on track for shipping in Chrome M49)!"

kangax' awesome ECMAScript compatibility table (opens new window) is already up to date, and Chrome 49's column looks very green indeed.

Since I talked about both optimizing rest parameters in Babel (#1 (opens new window), #2 (opens new window)) and V8 bailout reasons (opens new window) (#3 (opens new window), #1 (opens new window), #2 (opens new window)) on this blog, I thought I would look into it again.

The upcoming version of V8 does support rest parameters, and that's awesome! But Crankshaft bails out when it encounters one of them (#4 (opens new window)) instead of optimizing your function, and that's less awesome. But the engineer who introduced this bailout said (#5 (opens new window)) they will be optimized by TurboFan instead, awesome again! (He even hinted that all currently "unsafe" usages of the arguments object will be optimized, and that's very awesome!)

In the meantime, before all of these ES2015 features land in Node, before TurboFan comes in handy, I guess I'll keep using Babel's transform-es2015-parameters for my Node code.

#v8 #javascript #es2015 #nodejs #crankshaft

Follow me on Twitter, GitHub.

unless otherwise stated, all content & design © copyright 2021 victor felder