* configure.ac: New switch for disabling -O2 (--disable-optimizations).
[cacao.git] / NEWS
diff --git a/NEWS b/NEWS
index a4d458bbf48e6023586b425f837631dd8b01197a..18991f9921b7d386941383678d59c6e876e4e8fa 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,9 +1,231 @@
-* About this file
-=================
+New in release 1.1pre (not yet released)
+
+  * Large parts rewritten in C++.
+  * No more cacaoh, simplifying cross-compilation.
+  * Works with icedtea-1.10 and newer (PR128, PR129, PR139).
+  * --enable-handles switch for making native code ready for moving GC.
+  * park/unpark support.
+  * Simplified signal handling -- much less code duplication.
+  * Stack unwinding rewritten in C -- much less assembler code.
+  * OpenSolaris support.
+  * Experimental python mode for easier inspection of internal compiler
+    structures.
+  * Fixed various array-related bugs, including PR116, PR119.
+  * Fixed PR120 (races in thread code).
+  * Fixed code generation bugs on Alpha, ARM, MIPS and PPC64.
+  * Various 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
 
-This file lists the most important changes for each official as well as
-internal release of cacao.  See the "ChangeLog" for a more detailed list of
-all the changes in the code.
 
 * Version 0.40 (released)
 =========================
@@ -71,9 +293,3 @@ A lot of bugs have been fixed.
 ==============
 
 The initial version included the old JIT and support for lang, util and io.
-
-----------------------------------------------------------------------------
-Local variables:
-mode: outline
-fill-column: 76
-End: