forked from tekknolagi/cacao
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS
More file actions
323 lines (256 loc) · 11.1 KB
/
NEWS
File metadata and controls
323 lines (256 loc) · 11.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
New in release 1.6.2 (not yet released)
* New statistics framework.
* Loop optimization (disabled by default).
* Boehm GC upgraded to 7.2d.
* Eliminated almost all compiler warnings.
* Some removal of deprecated code.
* Removed m68k architecture.
* Fixed Java assertion handling.
* Fixed float stack argument passing on some architectures.
* Fixed PR50, PR180, PR185, PR186, PR187.
New in release 1.6.1 (June 28, 2013)
* Support for OpenJDK 7.
* ARM: Support for hard-float systems (PR172).
* Fixed remaining icedtea6 check-langtools failures (PR166, PR167).
* Reworked internal string representation.
* Completed migration to C++ for almost all remaining files.
* alpha: Regression tests work again.
* Introduced a new logging framework in more idiomatic C++.
* PR178, PR179: Introduced checks for junit and jasmin at configure time.
* PR184: Repair build on armv4.
* Assorted minor infrastructure and build fixes and improvements.
New in release 1.6.0 (September 4, 2012)
* Large parts rewritten in C++.
* No more cacaoh, simplifying cross-compilation.
* --enable-handles switch for making native code ready for moving GC
(currently broken).
* park/unpark support.
* Simplified signal handling -- reduced code duplication.
* Added support for OpenSolaris.
* Experimental python mode for easier inspection of internal compiler
structures.
* Fixed various array-related bugs, including PR116, PR119.
* Fixed PR120 (races in thread code).
* Correct placement of memory barriers on x86 and x86-64.
* Fixed code generation bugs on Alpha, ARM, MIPS and PPC64.
* Fixed support for armv7 hard-float.
* Supports ARM Thumb interworking.
* Partially unified code generation.
* Numerous other improvements and fixes.
New in release 0.99.4 (March 16, 2009)
* New subtype checking code fixes unexpected class cast exceptions
and no longer needs critical sections in JIT code.
* Fixed race condition in patcher subsystem which caused illegal
instructions and segmentation faults (PR85).
* Fixed PR112, PR116, PR118, PR122.
New in release 0.99.3 (August 12, 2008)
* Fixed PR93 (Process.destroy() now works correctly).
* Yield threads when sleeping time is zero.
* Implemented sun.misc.Unsafe.putFloat(JF)V
New in release 0.99.2 (July 8, 2008)
* Rewrite of atomic instructions code. This fixes problems with
AWT/Swing programs with OpenJDK.
* Fixed PR83, PR89.
New in release 0.99.1 (June 17, 2008)
* Fixed compilation of OpenJDK code (libltdl related).
* Imported new gnu/java/lang/CPStringBuilder.java to fix OOMEs.
* Fixed abort with OpenJDK's java binary when exiting.
New in release 0.99 (June 14, 2008)
* Initial support to use OpenJDK as Java core library.
* Fixed memory leak in Boehm-GC.
* Boehm-GC updated to version 7.1.
* Removed libltdl dependency.
* Renamed --with-classpath configure options to
--with-java-runtime-library.
* Renamed --with-jre-layout to --enable-layout.
* Replaced --with-classpath-includedir with --with-jni_h and
--with-jni_md_h to better support OpenJDK/IcedTea builds.
* Use 8-byte stack-slots on all architectures.
* Faster C-to-Java calls.
* Removed genoffsets, cross-compilation is now much easier.
* Implemented Class.isAnonymousClass(), isLocalClass() and
isMemberClass() for GNU Classpath.
* Annotation support.
* Assertion support.
* Linenumber table code rewritten.
* Exception table code rewritten.
New in release 0.98 (June 6, 2007)
* ARM and MIPS32 code generators are now open-source.
* PowerPC64 code generator was added.
* Sun's phoneme CLDC-1.1 classes can now be used as Java core
library.
* Exception throwing code was completely rewritten, this saves JIT
code size from 20% up to 50%.
* Lock-record code was rewritten and a memory leak was fixed.
* Threads code has been reworked and improved.
* Exception code has been reworked and improved.
* Implemented Class/Method/Field getSignature.
* A lot of stuff has been reworked, fixed or improved in the whole
VM code.
* Fixed memory leak in threads code.
New in release 0.97 (October 30, 2006)
* New instruction format.
* New intermediate representation with unified variables.
* Local subroutine elimination.
* Fixed the interpreter - it runs eclipse now.
* New stack-based verifier (used for -Xint).
* Boehm GC updated to version 6.8.
* Added enable/disable system assertion support (-esa/-dsa).
* Initial javax.management support.
* Initial sun.misc.Unsafe (JSR166) support.
* Added failed class as message to ClassCastException's.
* AttachCurrentThread, DetachCurrentThread, and
AttachCurrentThreadAsDaemon implemented.
* libjvm is now opened via dlopen (removed -rpath stuff).
* Data segment now reuses values (if possible).
* Fixed AbstractMethodError bug.
* Fixed builtin_isanysubclass (BeanShell bug).
* Fixed a memory leak in dump memory.
* Fixed a bug with DUP2_X1 and DUP2_X2.
* Safe decoding of invalid UTF-8 sequences in NewStringUTF.
* Fixed line numbers in exceptions thrown through the JIT.
* Proper null-check for MONITOREXIT.
* Many low-level jasmin tests added.
New in release 0.96 (May 29, 2006)
* New tasuki lock implementation resolves deadlock problems on
multi-processor machines.
* Handle Miranda-methods properly.
* try-catch line number problem with jikes fixed.
* Added support for libjvm.so (including invocation API).
* Stripped down object code size of code generators.
* Increased default maximum heap size to 128MB and decreased default
stack size to 64kB.
* Cleaned up internal handling of Unicode strings.
* Fixed getResources of bootstrap classloader.
* Correct handling of boot packages (provided glibj.zip contains a
jar index).
* Exception handling fixes (don't allocate memory on Java heap).
* x86_64's code generator generates not RISC-style code.
* Green threads implementation removed.
* Semaphore implementation for Darwin (taken from Boehm).
* sem_wait interrupted by signal fixed.
* Overflow in Object.wait() (partially) fixed (caused busy waiting
in JOnAS).
* Store JNI global refs in native hashtable instead of Java
hashtable (bootstrap problem).
* Argument passing fixed for powerpc-linux (asm_vm_call_method).
New in release 0.95 (February 13, 2006)
* Dead-lock bugfix. This should fix the random dead-locks seen in
Eclipse or other applications.
* Search for suitable jar program during configure, can be specified
via JAR environment variable
* --enable-zlib bugfix
* i386 bugfix: Set FPU to 64-bit on VM startup (fixes Debian bug
#350729)
* powerpc bugfix: (M_COPY): Handle longs and doubles properly.
* Fixed instructions copying stackslots (like DUP_X1).
* Fixed classcache-related problem with java.lang.reflect.Proxy.
* Throw correct exception when trying to load a directory
as a classfile (from a .zip file).
* Fixed incorrect method resolution when calling instance methods
through JNI (fixes CACAO bugs #17 and #18).
New in release 0.94 (January 22, 2006)
* support compilation of Interpreter and JIT compiler into one binary (not
enabled by default)
* bootstrap ZIP code rewrite (VM startup time improvement)
* fixed JNI DirectByteBuffer functions, jogl works now
* removed most third-party files from the repository, we link to the
libraries instead
* removed VM interface Java files which were identical to the GNU
Classpath upstream version
* added defineClassWithTransformers to java.lang.VMClassLoader, now we are
able to build against the generics branch
* Java compiler which should be used during compilation can be specified
via JAVAC environment variable
* a lot of bugfixes
New in release 0.93 (November 23, 2005)
* Java 1.5 support
* JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
closed-source
* integration of a vmgen-based interpreter (--enable-intrp)
* removal of GNU classpath, CACAO now uses upstream releases or CVS
head versions
* finalizer thread
* JNI local references implemented
* reflection fixes and access checks (mauve tests)
* linear scan register allocator (-lsra)
* lazy resolving fixes
* fixed instanceof instruction
* updated to Boehm GC 6.6
New in release 0.92 "Tomclipse" (July 14, 2005)
* runtime lazy-loading with code patching
* dynamic library loading on every platform we support (using
libltdl)
* new ICMDs (PUTSTATICCONST, PUTFIELDCONST)
* some ICMDs inlined (IDIV/IREM, LDIV/LREM, AASTORE, ARRAYCHECKCAST)
* register allocator uses unused argument registers
* stacktraces on MIPS, PowerPC and x86_64
* integration of GNU classpath's system class loader
* internal class loading code more Java VM Spec compliant
(classcache, loading constraints, ...)
* virtual function table bugfix (abstract class implements not all
interface methods)
* initial support for thread dump on SIGQUIT (<ctrl>-\) on most
platforms
* GNU classpath 0.16
* Boehm GC 6.5
New in release 0.91 (December 23, 2004)
* bug fixed in MULTIANEWARRAY
* field access related bug fixes
* native function call bug fixes
* smaller fixes...
New in release 0.90 (December 8, 2004)
* More architectures supported: At the moment, CACAO is able to run on
Alpha, MIPS (64-bit), x86, x86-64 and PowerPC (32-bit) architectures.
* Native thread support
* Java 1.4 support
* GNU classpath 0.12
* Preliminary AWT support
* Boehm garbage collector
* Reentrant JIT compiler
* Lots of bug fixes and conformance enhancements
* Lots of bugs introduced and not fixed
* Version 0.40 (released)
=========================
** Boehm garbage collector supported
------------------------------------
The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
Boehm garbage collector. Also see README.boehm.
** mips port
------------
Now runs on some SGI systems, which are based on the mips architecture.
** multiple bug fixes
---------------------
Even more java programs work as expected!
* Version 0.35 (experimental)
=============================
** autoconf, automake support
-----------------------------
Finally moved the entire distribution to autoconf/automake. This should fix
some of our problems with supporting different compilers. Thread support and
the use of the new garbage collector can be enabled/disabled from using
configure arguments:
--enable-threads [default]
--disable-threads
--enable-gc2 [default]
--disable-gc2
** new garbage collector
------------------------
Included the new garbage collector as default garbage collector.
* Version 0.30 (released)
=========================
Added unlimited stack for GC and main thread.
Some optimzations for instructions which operate on constants.
* Version 0.20 (released)
=========================
Hardware null pointer check added, fixed severe errors in GC/Threads, type
check and IEEE arithmetic.
* Version 0.20beta (can't remember)
=========================
There is a completely new JIT compiler which is about 7 times faster and
produces better code.
Multithreading is now supported.
A lot of bugs have been fixed.
* Version 0.10 (ancient history)
==============
The initial version included the old JIT and support for lang, util and io.