I really recommend the video in the article for anyone that wants to learn about some V8 internals, how they got to this point, and where it is headed.
They are replacing 3 JITs with an interpreter and a JIT which should improve speed, memory usage, and allow them to add new features faster, but the climb to that point really looks like a tough one.
Watching that talk it really sounds like they painted themselves into a corner with the complexity of fullcodegen, crankshaft, and turbofan. And the path they are taking out is really interesting. By introducing ignition they are adding on MORE complexity, but eventually when turbofan is well rounded enough and ignition is battle tested and improved, they are planning to drop fullcodegen and crankshaft and hook ignition straight to turboshaft making everything simpler, and hopefully faster!
Hm, well, as they say - they've actually now got two compilers even in the ideal case where they get rid of Crankshaft. Source to bytecode and then bytecode to machine code.
It does sound like there's a bit of a story behind V8's evolution here. I wonder when they'll try to standardise the bytecode they invented and introduce an extra protocol on top of HTTP to download it instead of source code. Seems like an obvious optimisation if compressed bytecode is more compact than compressed source (unclear if it would be), or maybe even if it's a bit larger if network speeds continue to improve and all the compile steps become the dominant factor in page load times.
Especially with WebAssembly it seems the whole web architecture is slowly winding its way back to the basic design of Java applets.
Seconded. If you've ever wondered about the internals of Chrome and where they're headed next this is a good watch. 2017 should be the year all of it comes together.
They are replacing 3 JITs with an interpreter and a JIT which should improve speed, memory usage, and allow them to add new features faster, but the climb to that point really looks like a tough one.
Watching that talk it really sounds like they painted themselves into a corner with the complexity of fullcodegen, crankshaft, and turbofan. And the path they are taking out is really interesting. By introducing ignition they are adding on MORE complexity, but eventually when turbofan is well rounded enough and ignition is battle tested and improved, they are planning to drop fullcodegen and crankshaft and hook ignition straight to turboshaft making everything simpler, and hopefully faster!