Jato: a simple JIT-only virtual machine for Java


Jato is a Java virtual machine implementation with a Just-in-time (JIT) compiler. It can currently run some simple Java programs on i386 running under Linux. A port to the x86-64 machine architecture is also underway. For updates on Jato development, please refer to this blog.

Latest release is: 0.0.2 (09-01-2010).

Source Code

The source code is being managed with Git. If you have it installed, you can get the latest development version with the following command:

git clone git://git.kernel.org/pub/scm/java/jato/jato.git

There's also a live repository you can browse on-line and a mirror of the repository on github.

Bugs?

Yes, we have plenty! See our issue tracker for a list of known bugs.

IRC

You can reach the development team on #jato channel at irc.freenode.net. The IRC logs are archived here.

Mailing List

You can subscribe and unsubscribe or browse the archives here.

Contributing

Are you dying to get your hands dirty on hacking a virtual machine and a JIT compiler but don't know where to start? Look no further than our list of project ideas. You can also find a table of bytecodes covered by the virtual machine on i386 and x86-64.

Please send patches as plain-text email to Pekka and carbon-copy the mailing list. You are expected to sign-off your submissions as per Developer's Certificate of Origin 1.1. Please also make sure that the patches follow the proper format to make review and inclusion as straight-forward as possible. Thanks!

Documentation

You can find an overview of the compiler here. Here's some other related documentation that you're probably interested in when hacking on Jato:

Java Virtual Machine: Intel i386/x86-64: PowerPC: Dynamic Compilation: Method Invocation: Register Allocation: Garbage Collection: Exception Handling: Optimization:

License

Jato is available under the GNU General Public License (GPL) version 2 with the following clarification and special exception:

Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.

As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.


Pekka Enberg <penberg@cs.helsinki.fi>

Last updated: January 09, 2010.

SourceForge.net Logo