Some technical details about the optimizations implemented in this release:
- Use typed arrays, if available in the JS engine (thanks to pcwalton and njn for the idea)
- Optimize after the relooper runs, removing unneeded code flow overhead
- Nativize many more variables than before (i.e., move them off the emulated stack, and into native JS variables)
- Optimized stack emulation
- Inlining of various runtime code fragments
- Integration with the Closure Compiler: We generate output that it is very good at optimizing (thanks to Anders Riggelsen for the idea)
Also added in this release is support for the brand-new LLVM 2.8. That is now the version being tested against.