MemShrink progress report, week 23
Mhh. LuaJit has quite shown that TraceJit can be awesome for dynamic languages. Sure JS has less potential to be optimized then lua (see in this <a href="http://lambda-the-ultimate.org/node/3851" rel="nofollow">http://lambda-the-ultimate.org/node/3851</a> LtU thread somewhere and read the rest anyway if your intressted in JITs) but the genarall aprouch could still be used.<p>LuaJit does it by using a very fast interpreter and a tracecompiler. The secret souce seams to be a SSA based bytecode. Im not sure how the Mozilla interpreter works but since its a relice I doute that its a bytecode optimized for interpreting and compilling. If Mozilla would adopt the same method LuaJit uses they would have to reimplment everything from ground up. Witch probebly wouldn't be a smart move buisnesswise.<p>If the language is to hart to interpret one could write a simple first stage method-jit and a trace-jit behind it. Exiting times in JIT-Land spezially for dynamic languages. Lets see who comes out with the best implementation in the long run.