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