* configure.ac: Some maintenance for make dist.
[cacao.git] / NEWS
1 New in release 1.1pre (not yet released)
2
3   * park/unpark support.
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).
9   * OpenSolaris support.
10   * Various other fixes.
11
12 New in release 0.99.4 (March 16, 2009)
13
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.
19
20 New in release 0.99.3 (August 12, 2008)
21
22   * Fixed PR93 (Process.destroy() now works correctly).
23   * Yield threads when sleeping time is zero.
24   * Implemented sun.misc.Unsafe.putFloat(JF)V
25
26 New in release 0.99.2 (July 8, 2008)
27
28   * Rewrite of atomic instructions code. This fixes problems with
29     AWT/Swing programs with OpenJDK.
30   * Fixed PR83, PR89.
31
32 New in release 0.99.1 (June 17, 2008)
33
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.
37
38 New in release 0.99 (June 14, 2008)
39
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.
54   * Annotation support.
55   * Assertion support.
56   * Linenumber table code rewritten.
57   * Exception table code rewritten.
58
59
60 New in release 0.98 (June 6, 2007)
61
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
65     library.
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
73     VM code.
74   * Fixed memory leak in threads code.
75
76
77 New in release 0.97 (October 30, 2006)
78
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).
93
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.
102
103
104 New in release 0.96 (May 29, 2006)
105
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
113     stack size to 64kB.
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
117     jar index).
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
124     in JOnAS).
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).
128
129
130 New in release 0.95 (February 13, 2006)
131
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
138     #350729)
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).
146
147
148 New in release 0.94 (January 22, 2006)
149
150   * support compilation of Interpreter and JIT compiler into one binary (not
151     enabled by default)
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
155     libraries instead
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
162   * a lot of bugfixes
163
164
165 New in release 0.93 (November 23, 2005)
166
167   * Java 1.5 support
168   * JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
169     closed-source
170   * integration of a vmgen-based interpreter (--enable-intrp)
171   * removal of GNU classpath, CACAO now uses upstream releases or CVS
172     head versions
173   * finalizer thread
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
180
181
182 New in release 0.92 "Tomclipse" (July 14, 2005)
183
184   * runtime lazy-loading with code patching
185   * dynamic library loading on every platform we support (using
186     libltdl)
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
195     interface methods)
196   * initial support for thread dump on SIGQUIT (<ctrl>-\) on most
197     platforms
198   * GNU classpath 0.16
199   * Boehm GC 6.5
200
201
202 New in release 0.91 (December 23, 2004)
203
204   * bug fixed in MULTIANEWARRAY
205   * field access related bug fixes
206   * native function call bug fixes
207   * smaller fixes...
208
209
210 New in release 0.90 (December 8, 2004)
211
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
215   * Java 1.4 support
216   * GNU classpath 0.12
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
222
223
224 * Version 0.40 (released)
225 =========================
226
227 ** Boehm garbage collector supported
228 ------------------------------------
229
230 The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
231 Boehm garbage collector. Also see README.boehm.
232
233 ** mips port
234 ------------
235
236 Now runs on some SGI systems, which are based on the mips architecture.
237
238 ** multiple bug fixes
239 ---------------------
240
241 Even more java programs work as expected!
242
243
244 * Version 0.35 (experimental)
245 =============================
246
247 ** autoconf, automake support
248 -----------------------------
249
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
253 configure arguments:
254
255         --enable-threads [default]
256         --disable-threads
257
258         --enable-gc2 [default]
259         --disable-gc2
260
261 ** new garbage collector
262 ------------------------
263
264 Included the new garbage collector as default garbage collector. 
265
266 * Version 0.30 (released)
267 =========================
268
269 Added unlimited stack for GC and main thread. 
270 Some optimzations for instructions which operate on constants. 
271
272 * Version 0.20 (released)
273 =========================
274
275 Hardware null pointer check added, fixed severe errors in GC/Threads, type
276 check and IEEE arithmetic.
277
278 * Version 0.20beta (can't remember)
279 =========================
280
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.
285
286 * Version 0.10 (ancient history)
287 ==============
288
289 The initial version included the old JIT and support for lang, util and io.