About CACAO

CACAO is a Java Virtual Machine (JVM) which uses Just-In-Time (JIT) compilation to execute Java methods natively. Since release 0.93 a Vmgen based interpreter is also integrated. CACAO uses GNU Classpath as default Java core library.

The CACAO project started as a research JVM to explore new implementation techniques. The first version for the Alpha was released in February 1997 as a binary. In 2004, CACAO was released under the GPL and is currently actively developed.

The old (1998) CACAO website can be found here. The technology behind CACAO is described in an article from PACT'98.

CACAO Wiki

See the CACAO Wiki for up-to-date information on CACAO.

News

June 6, 2007

CACAO 0.98 "Free all JITs!" released.

This is a major feature enhancement and bug-fix release. Here is a short list of the most important changes:

  • ARM and MIPS32 code generators are now open-source.
  • PowerPC64 code generator was added.
  • Sun's phoneme CLDC-1.1 classes can now be used as Java core library.
  • Exception throwing code was completely rewritten, this saves JIT code size from 20% up to 50%.
  • Lock-record code was rewritten and a memory leak was fixed.
  • Threads code has been reworked and improved.
  • Exception code has been reworked and improved.
  • Implemented Class/Method/Field getSignature.
  • A lot of stuff has been reworked, fixed or improved in the whole VM code.
  • Fixed memory leak in threads code.
  • Read the whole release announcement here.

    Older release news can be found here.

    Platforms

    CACAO has been compiled and tested by the developers on the following platforms:

    Applications

    Here is a table of applications and how they work on CACAO listed by architectures.

    Screenshots

    Here are some screenshots of applications running under CACAO.

    Download

    Releases

    The source code can be downloaded here. Installation instructions are included.

    Mercurial

    The latest development version of CACAO is avaiable via anonymous Mercurial.

    Documentation

    Efforts are underway to make the documentation included with CACAO up-to-date. The existing documentation was assembled from various papers and thesis and is out-dated in various areas. It can be found in the source distribution in the doc/ directory.

    Installation

    Installation instructions.

    Bugs

    We run a bugzilla database for bug reporting and discussion.

    IRC

    We also have a IRC channel #cacao on irc.freenode.org. There you will find mostly some CACAO developers. Quick questions should go there.

    The CACAO team.


    Please send mail to cacao@cacaojvm.org for comments of this page.