CACAO 0.96 released

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

  • New tasuki lock implementation resolves deadlock problems on multi-processor machines.
  • Handle Miranda-methods properly.
  • try-catch line number problem with jikes fixed.
  • Added support for (including invocation API).
  • Stripped down object code size of code generators.
  • Increased default maximum heap size to 128MB and decreased default stack size to 64kB.
  • Cleaned up internal handling of Unicode strings.
  • Fixed getResources of bootstrap classloader.
  • Correct handling of boot packages (provided contains a jar index).
  • Exception handling fixes (don't allocate memory on Java heap).
  • x86_64's code generator generates now RISC-style code.
  • Green threads implementation removed.
  • Semaphore implementation for Darwin (taken from Boehm).
  • sem_wait interrupted by signal fixed.
  • Overflow in Object.wait() (partially) fixed (caused busy waiting in JOnAS).
  • Store JNI global refs in native hashtable instead of Java hashtable (bootstrap problem).
  • Argument passing fixed for powerpc-linux (asm_vm_call_method).

This release supports GNU Classpath 0.91+ and was tested on some platforms against GNU Classpath 0.91.

This release fixes the remaining dead-lock bugs seen on SMP machines when running Eclipse. Additionally, CACAO is now able to run JOnAS. It's possible to build JOnAS from CVS with a free Java stack and run the JOnAS testsuite against it.

CACAO uses GNU Classpath as Java core library and supports upstream releases or CVS snapshots. The proper ./configure options for GNU Classpath are:


Currently supported JIT compiler architectures are:

  • alpha-unknown-freebsd5.4
  • alpha-unknown-linux-gnu
  • arm-unknown-linux-gnu
  • 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
  • x86_64-unknown-linux-gnu

Additionally supported interpreter architectures are:

  • powerpc64-unknown-linux-gnu