It sounds like Mozilla is having good luck improving JavaScript performance with TraceMonkey. See also Andreas Gal's paper on Trace Trees.
Are these improvements available to other interpreters/compilers and if so, does this mean we'll see a cascade of improvements in other interpreted languages?
There's a research JVM by Andreas Gal called HotPath, and some people from his team are currently working on adding nested trace tree based JITting to Maxine (Sun's new research JVM written in Java) and HotSpot. So, at least it is showing up in other VMs for other languages as well.
Also, the new PyPy JIT compiler (currently being prototyped in Prolog) uses some kind of tracing technique, although I don't know how closely related that is to Gal/Franz style nested trace trees.
The Rubinius guys are definitely aware of this work, and very open to experimentation. I wouldn't be surprised, if some advanced compilation techniques start showing up there, soon.
BTW: there is a Ruby VM written in JavaScript, called HotRuby. If you run that on TraceMonkey, you get trace tree based Ruby for free :-)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With