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