CACAO 1.6.0 released

This is the first release in quite some time, so the following list of the most important changes is necessarily incomplete:

  • Large parts rewritten in C++.
  • No more cacaoh, simplifying cross-compilation.
  • --enable-handles switch for making native code ready for moving GC (currently broken).
  • park/unpark support.
  • Simplified signal handling — reduced code duplication.
  • Stack unwinding mostly rewritten in C — reduced assembler code.
  • Added support for OpenSolaris.
  • Experimental python mode for easier inspection of internal compiler structures.
  • Fixed various array-related bugs, including PR116, PR119.
  • Fixed PR120 (races in thread code).
  • Correct placement of memory barriers on x86 and x86-64.
  • Fixed code generation bugs on Alpha, ARM, MIPS and PPC64.
  • Fixed support for armv7 hard-float.
  • Supports ARM Thumb interworking.
  • Partially unified code generation.
  • Numerous other improvements and fixes.

In the traditional configuration, CACAO uses GNU Classpath as its default Java runtime library and supports upstream releases or the current git master branch. This release is tested against GNU Classpath 0.99. Alternatively, the preferred configuration is to build against OpenJDK 6. See INSTALL.CACAO for details.

Currently supported JIT compiler architectures are:

  • arm (armv5l, armv7l)
  • i386
  • powerpc
  • powerpc64
  • x86_64

Currently orphaned architectures, on which earlier releases of CACAO were known to work, are:

  • alpha
  • m68k
  • mips (mipsel, mips64)
  • s390
  • sparc64

Building against OpenJDK on PowerPC platforms is known to be a bit challenging at the time of this release.

CACAO 1.6.0 can be downloaded from

File : cacao-1.6.0.tar.gz
md5sum : aa856066e33f86c4fc7669c6dff07cbc
sha1sum: d7bf97c8ed94ac3866d559a29711dcbee8f8bcfc
File : cacao-1.6.0.tar.xz
md5sum : 2ac8075f9c9cf21690babd3dde41860a
sha1sum: f9dacdf5205d7c49c006b8148be9777db213b04c


CACAOVM - Verein zur Förderung der freien virtuellen Maschine CACAO