1 New in release 0.99 (June 14, 2008)
3 * Initial support to use OpenJDK as Java core library.
4 * Fixed memory leak in Boehm-GC.
5 * Boehm-GC updated to version 7.1.
6 * Removed libltdl dependency.
7 * Renamed --with-classpath configure options to
8 --with-java-runtime-library.
9 * Renamed --with-jre-layout to --enable-layout.
10 * Replaced --with-classpath-includedir with --with-jni_h and
11 --with-jni_md_h to better support OpenJDK/IcedTea builds.
12 * Use 8-byte stack-slots on all architectures.
13 * Faster C-to-Java calls.
14 * Removed genoffsets, cross-compilation is now much easier.
15 * Implemented Class.isAnonymousClass(), isLocalClass() and
16 isMemberClass() for GNU Classpath.
19 * Linenumber table code rewritten.
20 * Exception table code rewritten.
23 New in release 0.98 (June 6, 2007)
25 * ARM and MIPS32 code generators are now open-source.
26 * PowerPC64 code generator was added.
27 * Sun's phoneme CLDC-1.1 classes can now be used as Java core
29 * Exception throwing code was completely rewritten, this saves JIT
30 code size from 20% up to 50%.
31 * Lock-record code was rewritten and a memory leak was fixed.
32 * Threads code has been reworked and improved.
33 * Exception code has been reworked and improved.
34 * Implemented Class/Method/Field getSignature.
35 * A lot of stuff has been reworked, fixed or improved in the whole
37 * Fixed memory leak in threads code.
40 New in release 0.97 (October 30, 2006)
42 * New instruction format.
43 * New intermediate representation with unified variables.
44 * Local subroutine elimination.
45 * Fixed the interpreter - it runs eclipse now.
46 * New stack-based verifier (used for -Xint).
47 * Boehm GC updated to version 6.8.
48 * Added enable/disable system assertion support (-esa/-dsa).
49 * Initial javax.management support.
50 * Initial sun.misc.Unsafe (JSR166) support.
51 * Added failed class as message to ClassCastException's.
52 * AttachCurrentThread, DetachCurrentThread, and
53 AttachCurrentThreadAsDaemon implemented.
54 * libjvm is now opened via dlopen (removed -rpath stuff).
55 * Data segment now reuses values (if possible).
57 * Fixed AbstractMethodError bug.
58 * Fixed builtin_isanysubclass (BeanShell bug).
59 * Fixed a memory leak in dump memory.
60 * Fixed a bug with DUP2_X1 and DUP2_X2.
61 * Safe decoding of invalid UTF-8 sequences in NewStringUTF.
62 * Fixed line numbers in exceptions thrown through the JIT.
63 * Proper null-check for MONITOREXIT.
64 * Many low-level jasmin tests added.
67 New in release 0.96 (May 29, 2006)
69 * New tasuki lock implementation resolves deadlock problems on
70 multi-processor machines.
71 * Handle Miranda-methods properly.
72 * try-catch line number problem with jikes fixed.
73 * Added support for libjvm.so (including invocation API).
74 * Stripped down object code size of code generators.
75 * Increased default maximum heap size to 128MB and decreased default
77 * Cleaned up internal handling of Unicode strings.
78 * Fixed getResources of bootstrap classloader.
79 * Correct handling of boot packages (provided glibj.zip contains a
81 * Exception handling fixes (don't allocate memory on Java heap).
82 * x86_64's code generator generates not RISC-style code.
83 * Green threads implementation removed.
84 * Semaphore implementation for Darwin (taken from Boehm).
85 * sem_wait interrupted by signal fixed.
86 * Overflow in Object.wait() (partially) fixed (caused busy waiting
88 * Store JNI global refs in native hashtable instead of Java
89 hashtable (bootstrap problem).
90 * Argument passing fixed for powerpc-linux (asm_vm_call_method).
93 New in release 0.95 (February 13, 2006)
95 * Dead-lock bugfix. This should fix the random dead-locks seen in
96 Eclipse or other applications.
97 * Search for suitable jar program during configure, can be specified
98 via JAR environment variable
99 * --enable-zlib bugfix
100 * i386 bugfix: Set FPU to 64-bit on VM startup (fixes Debian bug
102 * powerpc bugfix: (M_COPY): Handle longs and doubles properly.
103 * Fixed instructions copying stackslots (like DUP_X1).
104 * Fixed classcache-related problem with java.lang.reflect.Proxy.
105 * Throw correct exception when trying to load a directory
106 as a classfile (from a .zip file).
107 * Fixed incorrect method resolution when calling instance methods
108 through JNI (fixes CACAO bugs #17 and #18).
111 New in release 0.94 (January 22, 2006)
113 * support compilation of Interpreter and JIT compiler into one binary (not
115 * bootstrap ZIP code rewrite (VM startup time improvement)
116 * fixed JNI DirectByteBuffer functions, jogl works now
117 * removed most third-party files from the repository, we link to the
119 * removed VM interface Java files which were identical to the GNU
120 Classpath upstream version
121 * added defineClassWithTransformers to java.lang.VMClassLoader, now we are
122 able to build against the generics branch
123 * Java compiler which should be used during compilation can be specified
124 via JAVAC environment variable
128 New in release 0.93 (November 23, 2005)
131 * JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
133 * integration of a vmgen-based interpreter (--enable-intrp)
134 * removal of GNU classpath, CACAO now uses upstream releases or CVS
137 * JNI local references implemented
138 * reflection fixes and access checks (mauve tests)
139 * linear scan register allocator (-lsra)
140 * lazy resolving fixes
141 * fixed instanceof instruction
142 * updated to Boehm GC 6.6
145 New in release 0.92 "Tomclipse" (July 14, 2005)
147 * runtime lazy-loading with code patching
148 * dynamic library loading on every platform we support (using
150 * new ICMDs (PUTSTATICCONST, PUTFIELDCONST)
151 * some ICMDs inlined (IDIV/IREM, LDIV/LREM, AASTORE, ARRAYCHECKCAST)
152 * register allocator uses unused argument registers
153 * stacktraces on MIPS, PowerPC and x86_64
154 * integration of GNU classpath's system class loader
155 * internal class loading code more Java VM Spec compliant
156 (classcache, loading constraints, ...)
157 * virtual function table bugfix (abstract class implements not all
159 * initial support for thread dump on SIGQUIT (<ctrl>-\) on most
165 New in release 0.91 (December 23, 2004)
167 * bug fixed in MULTIANEWARRAY
168 * field access related bug fixes
169 * native function call bug fixes
173 New in relaese 0.90 (December 8, 2004)
175 * More architectures supported: At the moment, CACAO is able to run on
176 Alpha, MIPS (64-bit), x86, x86-64 and PowerPC (32-bit) architectures.
177 * Native thread support
180 * Preliminary AWT support
181 * Boehm garbage collector
182 * Reentrant JIT compiler
183 * Lots of bug fixes and conformance enhancements
184 * Lots of bugs introduced and not fixed
187 * Version 0.40 (released)
188 =========================
190 ** Boehm garbage collector supported
191 ------------------------------------
193 The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
194 Boehm garbage collector. Also see README.boehm.
199 Now runs on some SGI systems, which are based on the mips architecture.
201 ** multiple bug fixes
202 ---------------------
204 Even more java programs work as expected!
207 * Version 0.35 (experimental)
208 =============================
210 ** autoconf, automake support
211 -----------------------------
213 Finally moved the entire distribution to autoconf/automake. This should fix
214 some of our problems with supporting different compilers. Thread support and
215 the use of the new garbage collector can be enabled/disabled from using
218 --enable-threads [default]
221 --enable-gc2 [default]
224 ** new garbage collector
225 ------------------------
227 Included the new garbage collector as default garbage collector.
229 * Version 0.30 (released)
230 =========================
232 Added unlimited stack for GC and main thread.
233 Some optimzations for instructions which operate on constants.
235 * Version 0.20 (released)
236 =========================
238 Hardware null pointer check added, fixed severe errors in GC/Threads, type
239 check and IEEE arithmetic.
241 * Version 0.20beta (can't remember)
242 =========================
244 There is a completely new JIT compiler which is about 7 times faster and
245 produces better code.
246 Multithreading is now supported.
247 A lot of bugs have been fixed.
249 * Version 0.10 (ancient history)
252 The initial version included the old JIT and support for lang, util and io.