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 libjvm.so (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 glibj.zip 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:
--with-classpath-prefix=<dir> --with-classpath-libdir=<dir> --with-classpath-includedir=<dir>
Currently supported JIT compiler architectures are:
Additionally supported interpreter architectures are: