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