Projects / CACAO


CACAO is a virtual machine for running Java programs. It uses a JIT compiler which is available for the Alpha, ARM, i386, M68k, MIPS (32- and 64-bit), PowerPC, PowerPC64, S390, and x86-64 architectures.

Operating Systems

Recent releases

  •  18 Jun 2008 11:47

    Release Notes: This bugfix release fixes compilation of OpenJDK code (libltdl related), imports a new gnu/java/lang/ to fix OOMEs, and fixes an abort with OpenJDK's java binary when exiting.

    •  17 Jun 2008 08:44

      Release Notes: This release adds initial support for using OpenJDK as the Java runtime library, fixes a memory leak in Boehm-GC, updates Boehm-GC to version 7.1, removes the libltdl dependency, uses 8-byte stack-slots on all architectures, includes faster C-to-Java calls, removes genoffsets so that cross-compilation is much easier, and adds annotation and assertion support.

      •  08 Jun 2007 15:25

        Release Notes: The ARM and MIPS32 code generators are now Open Source. A PowerPC64 code generator has been added. Sun's phoneme CLDC-1.1 classes can now be used as a Java core library. Exception throwing code has been completely rewritten; this saves the JIT code size from 20%-50%. The lock-record code has been rewritten and a memory leak has been fixed. The threads and exception code has been reworked and improved. A memory leak has been fixed in the threads code.

        •  01 Nov 2006 16:56

          Release Notes: A new instruction format, a new intermediate representation with unified variables, local subroutine elimination, and a new stack-based verifier (used for -Xint) were implemented. The interpreter was fixed, so it runs Eclipse now. Support for enabling and disabling system assertion (-esa/-dsa) was added. Initial support and initial sun.misc.Unsafe (JSR166) support were added. Fixed An AbstractMethodError bug, a BeanShell bug in builtin_isanysubclass, line numbers in exceptions thrown through the JIT, and a memory leak in dump memory were fixed.

          •  29 May 2006 22:25

            Release Notes: New tasuki lock implementation resolves deadlock problems on multi-processor machines. Miranda methods are handled properly. A try-catch line number problem with Jikes has been fixed. Support has been added for (including the invocation API). The object code size of code generators has been stripped down.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.