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: https://c1.complang.tuwien.ac.at/cacaowiki/CLDC1.1
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:
--with-classpath=<type> --with-classpath-prefix=<dir> --with-classpath-classes=<path> --with-classpath-libdir=<dir> --with-classpath-includedir=<dir>
For detailed information, use ./configure --help.
This release adds support for the powerpc64-unknown-linux-gnu architecture.
Currently supported JIT compiler architectures are:
CACAO 0.98 can be downloaded from http://www.complang.tuwien.ac.at/cacaojvm/download/cacao-0.98/