1 New in release 1.1pre (not yet released)
4 * Fixed various array-related bugs, including PR116, PR119.
5 * Fixed PR120 (races in thread code).
6 * Fixed code generation bugs on Alpha, ARM and PPC64.
7 * Simplified signal handling (much less code duplication).
8 * Works with icedtea-1.10. (PR128, PR129).
10 * Various other fixes.
12 New in release 0.99.4 (March 16, 2009)
14 * New subtype checking code fixes unexpected class cast exceptions
15 and no longer needs critical sections in JIT code.
16 * Fixed race condition in patcher subsystem which caused illegal
17 instructions and segmentation faults (PR85).
18 * Fixed PR112, PR116, PR118, PR122.
20 New in release 0.99.3 (August 12, 2008)
22 * Fixed PR93 (Process.destroy() now works correctly).
23 * Yield threads when sleeping time is zero.
24 * Implemented sun.misc.Unsafe.putFloat(JF)V
26 New in release 0.99.2 (July 8, 2008)
28 * Rewrite of atomic instructions code. This fixes problems with
29 AWT/Swing programs with OpenJDK.
32 New in release 0.99.1 (June 17, 2008)
34 * Fixed compilation of OpenJDK code (libltdl related).
35 * Imported new gnu/java/lang/CPStringBuilder.java to fix OOMEs.
36 * Fixed abort with OpenJDK's java binary when exiting.
38 New in release 0.99 (June 14, 2008)
40 * Initial support to use OpenJDK as Java core library.
41 * Fixed memory leak in Boehm-GC.
42 * Boehm-GC updated to version 7.1.
43 * Removed libltdl dependency.
44 * Renamed --with-classpath configure options to
45 --with-java-runtime-library.
46 * Renamed --with-jre-layout to --enable-layout.
47 * Replaced --with-classpath-includedir with --with-jni_h and
48 --with-jni_md_h to better support OpenJDK/IcedTea builds.
49 * Use 8-byte stack-slots on all architectures.
50 * Faster C-to-Java calls.
51 * Removed genoffsets, cross-compilation is now much easier.
52 * Implemented Class.isAnonymousClass(), isLocalClass() and
53 isMemberClass() for GNU Classpath.
56 * Linenumber table code rewritten.
57 * Exception table code rewritten.
60 New in release 0.98 (June 6, 2007)
62 * ARM and MIPS32 code generators are now open-source.
63 * PowerPC64 code generator was added.
64 * Sun's phoneme CLDC-1.1 classes can now be used as Java core
66 * Exception throwing code was completely rewritten, this saves JIT
67 code size from 20% up to 50%.
68 * Lock-record code was rewritten and a memory leak was fixed.
69 * Threads code has been reworked and improved.
70 * Exception code has been reworked and improved.
71 * Implemented Class/Method/Field getSignature.
72 * A lot of stuff has been reworked, fixed or improved in the whole
74 * Fixed memory leak in threads code.
77 New in release 0.97 (October 30, 2006)
79 * New instruction format.
80 * New intermediate representation with unified variables.
81 * Local subroutine elimination.
82 * Fixed the interpreter - it runs eclipse now.
83 * New stack-based verifier (used for -Xint).
84 * Boehm GC updated to version 6.8.
85 * Added enable/disable system assertion support (-esa/-dsa).
86 * Initial javax.management support.
87 * Initial sun.misc.Unsafe (JSR166) support.
88 * Added failed class as message to ClassCastException's.
89 * AttachCurrentThread, DetachCurrentThread, and
90 AttachCurrentThreadAsDaemon implemented.
91 * libjvm is now opened via dlopen (removed -rpath stuff).
92 * Data segment now reuses values (if possible).
94 * Fixed AbstractMethodError bug.
95 * Fixed builtin_isanysubclass (BeanShell bug).
96 * Fixed a memory leak in dump memory.
97 * Fixed a bug with DUP2_X1 and DUP2_X2.
98 * Safe decoding of invalid UTF-8 sequences in NewStringUTF.
99 * Fixed line numbers in exceptions thrown through the JIT.
100 * Proper null-check for MONITOREXIT.
101 * Many low-level jasmin tests added.
104 New in release 0.96 (May 29, 2006)
106 * New tasuki lock implementation resolves deadlock problems on
107 multi-processor machines.
108 * Handle Miranda-methods properly.
109 * try-catch line number problem with jikes fixed.
110 * Added support for libjvm.so (including invocation API).
111 * Stripped down object code size of code generators.
112 * Increased default maximum heap size to 128MB and decreased default
114 * Cleaned up internal handling of Unicode strings.
115 * Fixed getResources of bootstrap classloader.
116 * Correct handling of boot packages (provided glibj.zip contains a
118 * Exception handling fixes (don't allocate memory on Java heap).
119 * x86_64's code generator generates not RISC-style code.
120 * Green threads implementation removed.
121 * Semaphore implementation for Darwin (taken from Boehm).
122 * sem_wait interrupted by signal fixed.
123 * Overflow in Object.wait() (partially) fixed (caused busy waiting
125 * Store JNI global refs in native hashtable instead of Java
126 hashtable (bootstrap problem).
127 * Argument passing fixed for powerpc-linux (asm_vm_call_method).
130 New in release 0.95 (February 13, 2006)
132 * Dead-lock bugfix. This should fix the random dead-locks seen in
133 Eclipse or other applications.
134 * Search for suitable jar program during configure, can be specified
135 via JAR environment variable
136 * --enable-zlib bugfix
137 * i386 bugfix: Set FPU to 64-bit on VM startup (fixes Debian bug
139 * powerpc bugfix: (M_COPY): Handle longs and doubles properly.
140 * Fixed instructions copying stackslots (like DUP_X1).
141 * Fixed classcache-related problem with java.lang.reflect.Proxy.
142 * Throw correct exception when trying to load a directory
143 as a classfile (from a .zip file).
144 * Fixed incorrect method resolution when calling instance methods
145 through JNI (fixes CACAO bugs #17 and #18).
148 New in release 0.94 (January 22, 2006)
150 * support compilation of Interpreter and JIT compiler into one binary (not
152 * bootstrap ZIP code rewrite (VM startup time improvement)
153 * fixed JNI DirectByteBuffer functions, jogl works now
154 * removed most third-party files from the repository, we link to the
156 * removed VM interface Java files which were identical to the GNU
157 Classpath upstream version
158 * added defineClassWithTransformers to java.lang.VMClassLoader, now we are
159 able to build against the generics branch
160 * Java compiler which should be used during compilation can be specified
161 via JAVAC environment variable
165 New in release 0.93 (November 23, 2005)
168 * JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
170 * integration of a vmgen-based interpreter (--enable-intrp)
171 * removal of GNU classpath, CACAO now uses upstream releases or CVS
174 * JNI local references implemented
175 * reflection fixes and access checks (mauve tests)
176 * linear scan register allocator (-lsra)
177 * lazy resolving fixes
178 * fixed instanceof instruction
179 * updated to Boehm GC 6.6
182 New in release 0.92 "Tomclipse" (July 14, 2005)
184 * runtime lazy-loading with code patching
185 * dynamic library loading on every platform we support (using
187 * new ICMDs (PUTSTATICCONST, PUTFIELDCONST)
188 * some ICMDs inlined (IDIV/IREM, LDIV/LREM, AASTORE, ARRAYCHECKCAST)
189 * register allocator uses unused argument registers
190 * stacktraces on MIPS, PowerPC and x86_64
191 * integration of GNU classpath's system class loader
192 * internal class loading code more Java VM Spec compliant
193 (classcache, loading constraints, ...)
194 * virtual function table bugfix (abstract class implements not all
196 * initial support for thread dump on SIGQUIT (<ctrl>-\) on most
202 New in release 0.91 (December 23, 2004)
204 * bug fixed in MULTIANEWARRAY
205 * field access related bug fixes
206 * native function call bug fixes
210 New in release 0.90 (December 8, 2004)
212 * More architectures supported: At the moment, CACAO is able to run on
213 Alpha, MIPS (64-bit), x86, x86-64 and PowerPC (32-bit) architectures.
214 * Native thread support
217 * Preliminary AWT support
218 * Boehm garbage collector
219 * Reentrant JIT compiler
220 * Lots of bug fixes and conformance enhancements
221 * Lots of bugs introduced and not fixed
224 * Version 0.40 (released)
225 =========================
227 ** Boehm garbage collector supported
228 ------------------------------------
230 The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
231 Boehm garbage collector. Also see README.boehm.
236 Now runs on some SGI systems, which are based on the mips architecture.
238 ** multiple bug fixes
239 ---------------------
241 Even more java programs work as expected!
244 * Version 0.35 (experimental)
245 =============================
247 ** autoconf, automake support
248 -----------------------------
250 Finally moved the entire distribution to autoconf/automake. This should fix
251 some of our problems with supporting different compilers. Thread support and
252 the use of the new garbage collector can be enabled/disabled from using
255 --enable-threads [default]
258 --enable-gc2 [default]
261 ** new garbage collector
262 ------------------------
264 Included the new garbage collector as default garbage collector.
266 * Version 0.30 (released)
267 =========================
269 Added unlimited stack for GC and main thread.
270 Some optimzations for instructions which operate on constants.
272 * Version 0.20 (released)
273 =========================
275 Hardware null pointer check added, fixed severe errors in GC/Threads, type
276 check and IEEE arithmetic.
278 * Version 0.20beta (can't remember)
279 =========================
281 There is a completely new JIT compiler which is about 7 times faster and
282 produces better code.
283 Multithreading is now supported.
284 A lot of bugs have been fixed.
286 * Version 0.10 (ancient history)
289 The initial version included the old JIT and support for lang, util and io.