All releases of CACAO


Changes: This bugfix release fixes compilation of OpenJDK code (libltdl related), imports a new gnu/java/lang/CPStringBuilder.java to fix OOMEs, and fixes an abort with OpenJDK's java binary when exiting.


Changes: This release adds initial support for using OpenJDK as the Java runtime library, fixes a memory leak in Boehm-GC, updates Boehm-GC to version 7.1, removes the libltdl dependency, uses 8-byte stack-slots on all architectures, includes faster C-to-Java calls, removes genoffsets so that cross-compilation is much easier, and adds annotation and assertion support.


Changes: The ARM and MIPS32 code generators are now Open Source. A PowerPC64 code generator has been added. Sun's phoneme CLDC-1.1 classes can now be used as a Java core library. Exception throwing code has been completely rewritten; this saves the JIT code size from 20%-50%. The lock-record code has been rewritten and a memory leak has been fixed. The threads and exception code has been reworked and improved. A memory leak has been fixed in the threads code.


Changes: A new instruction format, a new intermediate representation with unified variables, local subroutine elimination, and a new stack-based verifier (used for -Xint) were implemented. The interpreter was fixed, so it runs Eclipse now. Support for enabling and disabling system assertion (-esa/-dsa) was added. Initial javax.management support and initial sun.misc.Unsafe (JSR166) support were added. Fixed An AbstractMethodError bug, a BeanShell bug in builtin_isanysubclass, line numbers in exceptions thrown through the JIT, and a memory leak in dump memory were fixed.


Changes: New tasuki lock implementation resolves deadlock problems on multi-processor machines. Miranda methods are handled properly. A try-catch line number problem with Jikes has been fixed. Support has been added for libjvm.so (including the invocation API). The object code size of code generators has been stripped down.


Changes: A dead-lock bug was fixed. This should fix the random dead-locks seen in Eclipse or other applications. The search for a suitable jar program during configure can be specified via the JAR environment variable. The FPU on i386 is now correctly set to 64-bit on VM startup. Longs and doubles are now handled properly for M_COPY on PowerPC. A problem with instructions copying stackslots (like DUP_X1) was fixed. A classcache-related problem with java.lang.reflect.Proxy was fixed. Incorrect method resolution when calling instance methods through JNI was fixed.


Changes: Compilation of the interpreter and JIT compiler into one binary is now supported (but not enabled by default). The bootstrap ZIP code was rewritten, improving VM startup time. The JNI DirectByteBuffer functions were fixed, so jogl now works. Most third-party files were removed from the repository, since the program links to the libraries instead. The VM interface Java files which were identical to the GNU Classpath upstream versions were removed. defineClassWithTransformers was added to java.lang.VMClassLoader. A lot of bugfixes were made.


Changes: This release adds JIT code generators for Arm and MIPS (32-bit, -o32), a JNI local references implementation, Java 1.5 support, a finalizer thread, a fixed instanceof instruction, integration of a vmgen-based interpreter (--enable-intrp), lazy resolving fixes, a linear scan register allocator (-lsra), reflection fixes and access checks (mauve tests), and an update to Boehm GC 6.6. GNU classpath has been removed; CACAO now uses upstream releases or CVS head versions,


Changes: Runtime lazy-loading with code patching, dynamic library loading on every platform, stack traces on MIPS, PowerPC, and x86_64, and many more enhancements and bugfixes. This release is able to run major applications like Eclipse or Jakarta Tomcat.


No changes have been submitted for this release.
A JumpBox to quickly deploy PHP, Python, and Perl applications with a self-contained LAMP environment.