CACAO 0.98 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.

This release supports GNU Classpath 0.92 or higher and was tested on some platforms against GNU Classpath 0.95.

Starting with this release, CACAO can also use Sun's phoneme CLDC-1.1 classes as Java core library. You can build a CLDC CACAO with or without JNI support (--disable-jni). A very short HOWTO on building a CLDC CACAO can be found here:

CACAO uses GNU Classpath as default Java core library and supports upstream releases or CVS snapshots. CACAO's ./configure has some options for classpath configuration, namely:


For detailed information, use ./configure --help.

This release adds support for the powerpc64-unknown-linux-gnu architecture.

Currently supported JIT compiler architectures are:

  • alpha-unknown-freebsd5.4
  • alpha-unknown-linux-gnu
  • arm-unknown-linux-gnu
  • i386-apple-darwin8.8.1
  • i386-unknown-freebsd5.3
  • i686-pc-linux-gnu
  • mips-sgi-irix6.5
  • mips-unknown-linux-gnu
  • powerpc-apple-darwin7.2.0
  • powerpc-unknown-linux-gnu
  • powerpc64-unknown-linux-gnu
  • x86_64-unknown-linux-gnu

CACAO 0.98 can be downloaded from

File : cacao-0.98.tar.bz2
md5sum : 8b8907c8b925761c9410bcadb9705346
sha1sum: 2adfc4c4514cb29fd15052ad28323eb35824e8b5


The CACAO Team