A blog about programming topics, mostly JVM, Linux kernel, and x86 related things.

Thursday, May 13, 2010

Jato status update for May 2010

We didn't make it to Google Summer of Code this year but we've managed to get some pretty cool stuff done:

  • Tomek Grabiec integrated Boehm GC with Jato. While we still intend to continue developing our own GC, it became apparent that we needed a GC now to move forward. This means that the VM now has all the necessary capabilities to run real programs on 32-bit x86 Linux machines.

  • Tomek Grabiec implemented relaxed-locking protocol for monitors which improved performance tremendously.

  • Eduard-Gabriel Munteanu contributed tons of fixes to our x86-64 port. We're not there yet but hopefully we're getting closer.

There's still tons of work remaining but we're slowly getting there. As for our performance, we're pretty close to JamVM (see the following diagram for selected DaCapo benchmarks) which is not that bad considering that we haven't done much serious performance tuning yet.

As for future plans, we'll continue to work on compatibility issues. For that, we probably will be looking GNU Classpath 0.98 support and OpenJDK integration for better compabitility. On the performance side, I hope we find the time to look into array bounds check elimination, inline caching, and method inlining to try to close the performance gap to CACAO.