Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Jato, an open source implementation of the JVM

branch: master

This branch is 0 commits ahead and 0 commits behind master

Update todo

Signed-off-by: Pekka Enberg <penberg@kernel.org>
latest commit aee10ca02c
Pekka Enberg authored February 03, 2014
Octocat-spinner-32 Documentation Documentation, internals: Core VM February 18, 2012
Octocat-spinner-32 arch Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 boehmgc boehmgc: Pass -marm to make boehmgc build on thumb2 ARM systems. February 02, 2012
Octocat-spinner-32 cafebabe Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 external Bump up GNU Classpath version October 18, 2013
Octocat-spinner-32 include Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 jit Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 lib Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 runtime Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 scripts Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 sys Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 test Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 tools tests: Remove ReferenceTest November 13, 2013
Octocat-spinner-32 vm Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 .gitignore Fix .gitignore for asm-offsets.h July 27, 2011
Octocat-spinner-32 .gitmodules Fix submodule URL October 20, 2013
Octocat-spinner-32 .mailmap Fix differently spelled name May 25, 2011
Octocat-spinner-32 .travis.yml Add LLVM dependency to Travis CI environment November 09, 2013
Octocat-spinner-32 AUTHORS AUTHORS: added an entry. November 14, 2011
Octocat-spinner-32 BUGS runtime: Implement VMClass#getDeclaredAnnotations December 08, 2010
Octocat-spinner-32 COPYING Add COPYING file and update GPLv2 URL in LICENSE September 17, 2010
Octocat-spinner-32 LICENSE Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 Makefile tests: Remove ReferenceTest November 13, 2013
Octocat-spinner-32 README.md Relicense Jato under the 2-clause BSD license November 13, 2013
Octocat-spinner-32 TODO Update todo February 03, 2014
Octocat-spinner-32 jato.c Relicense Jato under the 2-clause BSD license November 13, 2013
README.md

Jato VM

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.

Features

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

Installation

Prerequisites

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 libglib2.0-dev bison llvm-dev

Archlinux

$ pacman -S eclipse-ecj classpath libffi

GNU Classpath

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 download the sources from:

ftp://ftp.gnu.org/pub/gnu/classpath/classpath-0.99.tar.gz

You can then compile GNU Classpath:

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

and install it to /usr/local:

$ sudo make install

Build and 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.

Usage

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.

License

Copyright © 2005-2013 Pekka Enberg and contributors

Jato is distributed under the 2-clause BSD license.

Something went wrong with that request. Please try again.