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.
da...@chromium.org, bme...@chromium.org (TurboFan), rmci...@chromium.org (Ignition)
TurboFan: https://github.com/v8/v8/wiki/TurboFan
Ignition: https://github.com/v8/v8/wiki/Interpreter
March 2017.
All
This dedicated blog post describes how the new pipeline can be switched on.
DevTools support is the same as with the classic pipeline.
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.
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