Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Jato, an open source implementation of the JVM
C Objective-C Java Shell C++ Assembly Other
branch: master

Merge pull request #39 from abak/master

Fix README and improve documentation
latest commit bb1c7d4fd9
@penberg penberg authored
Failed to load latest commit information.
Documentation adds options documentation
arch/x86 Relicense Jato under the 2-clause BSD license
boehmgc boehmgc: Pass -marm to make boehmgc build on thumb2 ARM systems.
cafebabe Relicense Jato under the 2-clause BSD license
external Bump up GNU Classpath version
include Relicense Jato under the 2-clause BSD license
jit Relicense Jato under the 2-clause BSD license
lib Relicense Jato under the 2-clause BSD license
runtime Relicense Jato under the 2-clause BSD license
scripts Relicense Jato under the 2-clause BSD license
sys Relicense Jato under the 2-clause BSD license
test test: Fix LLVM libraries to include ncurses
tools tests: Remove ReferenceTest
vm Relicense Jato under the 2-clause BSD license
.gitignore Fix .gitignore for asm-offsets.h
.gitmodules Fix submodule URL
.mailmap Fix differently spelled name
.travis.yml Add LLVM dependency to Travis CI environment
AUTHORS AUTHORS: added an entry.
BUGS runtime: Implement VMClass#getDeclaredAnnotations
COPYING Add COPYING file and update GPLv2 URL in LICENSE
LICENSE Relicense Jato under the 2-clause BSD license
Makefile Makefile: Add ncurses to LLVM libraries
README.md fix readme build instruction regarding GNU classpath
TODO Update todo
jato.c Relicense Jato under the 2-clause BSD license

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 libiberty-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 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

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.