Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

jatovm/jato

Jato, an open source implementation of the JVM

jatovm/jato.json
{
"createdAt": "2009-05-07T07:51:38Z",
"defaultBranch": "master",
"description": "Jato, an open source implementation of the JVM",
"fullName": "jatovm/jato",
"homepage": "http://www.jatovm.org/",
"language": "C",
"name": "jato",
"pushedAt": "2014-05-20T10:41:27Z",
"stargazersCount": 157,
"topics": [],
"updatedAt": "2025-08-31T06:28:13Z",
"url": "https://github.com/jatovm/jato"
}

Build Status

Jato is an implementation of the Java virtual machine. It includes a VM and a JIT compiler for the x86 machine architecture and supports the JNI API. Jato uses Boehm GC as its garbage collector and relies on GNU Classpath to provide essential Java APIs.

  • JIT-only execution on x86 architecture
  • Uses GNU Classpath for essential classes
  • Boehm garbage collector
  • Runs on Linux

Fedora

$ sudo yum install ecj libffi-devel binutils-devel glib2-devel bison llvm-devel llvm-static

Ubuntu

$ sudo apt-get install ecj libffi-dev binutils-dev libiberty-dev libglib2.0-dev bison llvm-dev

Archlinux

$ pacman -S eclipse-ecj classpath libffi

GNU Classpath needs to be built and installed from sources.

First install dependencies that are required to build GNU Classpath:

Fedora

$ sudo yum install java-1.7.0-openjdk antlr GConf2-devel gtk2-devel gettext-devel texinfo

Ubuntu

$ sudo apt-get install openjdk-6-jdk antlr libgconf2-dev libgtk2.0-dev ecj fastjar pccts

Then clone the sources from the git repository (the release 0.99 appears to be broken)

git clone git://git.savannah.gnu.org/classpath.git

You can then compile GNU Classpath:

$ ./autogen.sh
$ ./configure --disable-Werror --disable-plugin
$ make

and install it to /usr/local:

$ sudo make install

To compile the VM and run all the tests:

$ make check

All tests should pass.

You can now install Jato with:

$ make install

The command installs an executable jato to $HOME/bin.

Jato uses the same command line options as java.

To run a class:

$ jato <class name>

To specify classpath, use:

$ jato -cp <jar files or directories> <class name>

You can also execute a Jar file with:

$ jato -jar <jar file>

Jato also supports variety of command line options for debugging and tracing purposes. See the file Documentation/options.txt for details.

Copyright © 2005-2013 Pekka Enberg and contributors

Jato is distributed under the 2-clause BSD license.