1 New in release 0.97 (xxx xx, 2006)
3 * New instruction format.
4 * New intermediate representation with unified variables.
5 * Local subroutine elimination.
6 * Fixed the interpreter - it runs eclipse now.
7 * New stack-based verifier (used for -Xint).
8 * Boehm GC updated to version 6.8.
9 * Added enable/disable system assertion support (-esa/-dsa).
10 * Initial javax.management support.
11 * Initial sun.misc.Unsafe (JSR166) support.
12 * Added failed class as message to ClassCastException's.
14 * Fixed AbstractMethodError bug.
15 * Fixed builtin_isanysubclass (BeanShell bug).
16 * Fixed a memory leak in dump memory.
17 * Fixed a bug with DUP2_X1 and DUP2_X2.
18 * Safe decoding of invalid UTF-8 sequences in NewStringUTF.
19 * Fixed line numbers in exceptions thrown through the JIT.
20 * Proper null-check for MONITOREXIT.
21 * Many low-level jasmin tests added.
23 New in release 0.96 (May 29, 2006)
25 * New tasuki lock implementation resolves deadlock problems on
26 multi-processor machines.
27 * Handle Miranda-methods properly.
28 * try-catch line number problem with jikes fixed.
29 * Added support for libjvm.so (including invocation API).
30 * Stripped down object code size of code generators.
31 * Increased default maximum heap size to 128MB and decreased default
33 * Cleaned up internal handling of Unicode strings.
34 * Fixed getResources of bootstrap classloader.
35 * Correct handling of boot packages (provided glibj.zip contains a
37 * Exception handling fixes (don't allocate memory on Java heap).
38 * x86_64's code generator generates not RISC-style code.
39 * Green threads implementation removed.
40 * Semaphore implementation for Darwin (taken from Boehm).
41 * sem_wait interrupted by signal fixed.
42 * Overflow in Object.wait() (partially) fixed (caused busy waiting
44 * Store JNI global refs in native hashtable instead of Java
45 hashtable (bootstrap problem).
46 * Argument passing fixed for powerpc-linux (asm_vm_call_method).
49 New in release 0.95 (February 13, 2006)
51 * Dead-lock bugfix. This should fix the random dead-locks seen in
52 Eclipse or other applications.
53 * Search for suitable jar program during configure, can be specified
54 via JAR environment variable
55 * --enable-zlib bugfix
56 * i386 bugfix: Set FPU to 64-bit on VM startup (fixes Debian bug
58 * powerpc bugfix: (M_COPY): Handle longs and doubles properly.
59 * Fixed instructions copying stackslots (like DUP_X1).
60 * Fixed classcache-related problem with java.lang.reflect.Proxy.
61 * Throw correct exception when trying to load a directory
62 as a classfile (from a .zip file).
63 * Fixed incorrect method resolution when calling instance methods
64 through JNI (fixes CACAO bugs #17 and #18).
67 New in release 0.94 (January 22, 2006)
69 * support compilation of Interpreter and JIT compiler into one binary (not
71 * bootstrap ZIP code rewrite (VM startup time improvement)
72 * fixed JNI DirectByteBuffer functions, jogl works now
73 * removed most third-party files from the repository, we link to the
75 * removed VM interface Java files which were identical to the GNU
76 Classpath upstream version
77 * added defineClassWithTransformers to java.lang.VMClassLoader, now we are
78 able to build against the generics branch
79 * Java compiler which should be used during compilation can be specified
80 via JAVAC environment variable
84 New in release 0.93 (November 23, 2005)
87 * JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
89 * integration of a vmgen-based interpreter (--enable-intrp)
90 * removal of GNU classpath, CACAO now uses upstream releases or CVS
93 * JNI local references implemented
94 * reflection fixes and access checks (mauve tests)
95 * linear scan register allocator (-lsra)
96 * lazy resolving fixes
97 * fixed instanceof instruction
98 * updated to Boehm GC 6.6
101 New in release 0.92 "Tomclipse" (July 14, 2005)
103 * runtime lazy-loading with code patching
104 * dynamic library loading on every platform we support (using
106 * new ICMDs (PUTSTATICCONST, PUTFIELDCONST)
107 * some ICMDs inlined (IDIV/IREM, LDIV/LREM, AASTORE, ARRAYCHECKCAST)
108 * register allocator uses unused argument registers
109 * stacktraces on MIPS, PowerPC and x86_64
110 * integration of GNU classpath's system class loader
111 * internal class loading code more Java VM Spec compliant
112 (classcache, loading constraints, ...)
113 * virtual function table bugfix (abstract class implements not all
115 * initial support for thread dump on SIGQUIT (<ctrl>-\) on most
121 New in release 0.91 (December 23, 2004)
123 * bug fixed in MULTIANEWARRAY
124 * field access related bug fixes
125 * native function call bug fixes
129 New in relaese 0.90 (December 8, 2004)
131 * More architectures supported: At the moment, CACAO is able to run on
132 Alpha, MIPS (64-bit), x86, x86-64 and PowerPC (32-bit) architectures.
133 * Native thread support
136 * Preliminary AWT support
137 * Boehm garbage collector
138 * Reentrant JIT compiler
139 * Lots of bug fixes and conformance enhancements
140 * Lots of bugs introduced and not fixed
143 * Version 0.40 (released)
144 =========================
146 ** Boehm garbage collector supported
147 ------------------------------------
149 The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
150 Boehm garbage collector. Also see README.boehm.
155 Now runs on some SGI systems, which are based on the mips architecture.
157 ** multiple bug fixes
158 ---------------------
160 Even more java programs work as expected!
163 * Version 0.35 (experimental)
164 =============================
166 ** autoconf, automake support
167 -----------------------------
169 Finally moved the entire distribution to autoconf/automake. This should fix
170 some of our problems with supporting different compilers. Thread support and
171 the use of the new garbage collector can be enabled/disabled from using
174 --enable-threads [default]
177 --enable-gc2 [default]
180 ** new garbage collector
181 ------------------------
183 Included the new garbage collector as default garbage collector.
185 * Version 0.30 (released)
186 =========================
188 Added unlimited stack for GC and main thread.
189 Some optimzations for instructions which operate on constants.
191 * Version 0.20 (released)
192 =========================
194 Hardware null pointer check added, fixed severe errors in GC/Threads, type
195 check and IEEE arithmetic.
197 * Version 0.20beta (can't remember)
198 =========================
200 There is a completely new JIT compiler which is about 7 times faster and
201 produces better code.
202 Multithreading is now supported.
203 A lot of bugs have been fixed.
205 * Version 0.10 (ancient history)
208 The initial version included the old JIT and support for lang, util and io.