PSA: V8 is going to switch to a new compiler architecture after 5.8 branch cut

9225 views
Skip to first unread message

Michael Hablich

unread,
Feb 23, 2017, 3:05:49 AM2/23/17
to v8-u...@googlegroups.com, v8-...@googlegroups.com, Daniel Clifford, rmci...@chromium.org, bme...@chromium.org

Summary

The V8 team is currently working on a new compiler pipeline that will help us bring future speedups to real-world JavaScript. In the next few weeks we will replace our current compiler architecture based on a non-optimizing (FullCodeGen) and optimizing compiler (Crankshaft) pair with the combination of an interpreter (Ignition) and a new optimizing compiler (TurboFan).


You can try the new pipeline by setting an about:flags entry or passing the flag "--future" to d8.

Eng contact emails

da...@chromium.org, bme...@chromium.org (TurboFan), rmci...@chromium.org (Ignition)

Design docs

TurboFan: https://github.com/v8/v8/wiki/TurboFan
Ignition: https://github.com/v8/v8/wiki/Interpreter

Planned date for the switch

March 2017.

Affected platforms

All

How to try the new architecture

This dedicated blog post describes how the new pipeline can be switched on.

Debuggability

DevTools support is the same as with the classic pipeline.

Interoperability and Compatibility Risk

There are no user-facing changes (e.g. no new APIs changed). The new pipeline will change V8's performance profile considerably. Real-world JavaScript performance should improve and V8 memory consumption should be reduced. We expect controlled regressions in some synthetic JavaScript benchmarks like Octane. We plan to purposefully address selected regressions in upcoming releases.


We are already A/B testing the new pipeline to Canary and Dev channel in M58. Please note that individually, Ignition (on low memory devices and for certain JavaScript features on all platforms) and TurboFan (for certain JavaScript features) have been active for a long time (> half a year). Additionally we have set-up dedicated tests for security, correctness, performance and stability.

How to report bugs

As this is a major change in V8 we anticipate that unexpected, negative side-effects in performance, memory profile, security or correctness might occur. If you see anything, please feel encouraged to report a bug.


If you have any concerns or remarks, please feel free to simply respond to this thread or send a mail directly to hab...@chromium.org


Cheers,

Michael


Reply all
Reply to author
Forward
0 new messages