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