Hacker News new | ask | show | jobs
by beagle3 3592 days ago
So, V8 follows in the footsteps of LuaJIT:

LuaJIT2/newV8 optimized interpreter is as fast as LuaJIT1/oldV8 compiler. And to make it cross platform, it uses the LuaJIT/V8 macro assembler, rather than standard platform tools. (Although, LuaJIT2's macro assembler is architecture dependent and does much less than TurboFan's bytecode/macro assembler).

I suspect they'll realize at some point that the 20% or so interpretation speedup that you get from writing crucial parts of the interpreter in pure assembly is easier than specializing TurboFan to generate good interpreter code - see Mike Pall's explanations[0]

[0] - https://news.ycombinator.com/item?id=2588696 ; unfortunately, gmane appears to be gone, and I can't find another copy of the pointed to article.

2 comments

Not just LuaJIT but most heavily worked on VMs seem to converge to this point: it's basically the HotSpot architecture but with the source code compiler included and a register based bytecode instead of a stack based one. Oh, and two heavily optimising compilers instead of one. I guess they'll want to fix that. It was disappointing to hear that CrankShaft and Turbofan are both still in existence, I remember TurboFan being announced quite some time ago.
This seems to be the post it was referring to http://lua-users.org/lists/lua-l/2011-02/msg00742.html