|Jikes RVM 2.3.2 is now available
from the developerworks web site (http://www-124.ibm.com/developerworks/oss/jikesrvm/).
The release notes are appended below. Of particular note is that of version 2.3.2 it is possible to build Jikes RVM entirely with free software tools.
*Highlights of this release include:
** Jikes RVM 2.3.2 requires classpath 0.08.
**64-bit port of baseline compiler and runtime system to PowerPC64/AIX is
complete. We have been passing all regression tests on PPC64/AIX for
over a month. NOTE: porting of the optimizing compiler has not yet begun
(contributions/collaborations welcome) and therefore no configuration
with the optimizing compiler will work in 64 bit mode.
** The default GC plan for the prototype, prototype-opt, development,
and production configurations has been changed from CopyMS to GenMS.
GenMS is a generational collector with an Appel-style nursery and a
mark-sweep mature space.
** Jikes RVM now runs on newer versions of Linux/PowerPC that store the
pthread id in R2. Building Jikes RVM with RVM_FOR_SINGLE_VIRTUAL_PROCESSOR=0
is reported to work on top of these newer Linux releases, which resolves a
long-standing limitation of Jikes RVM on Linux/PowerPC.
**Source Code editing support
There are now VIM and Emacs style files supporting the Jikes RVM coding
style for C, Java, and C++. See rvm/etc/README. (This should have
been in the 2.3.1 release announcement but was not.)
**You can build Jikes RVM entirely with free software tools
You can now build Jikes RVM using the Kaffe virtual machine. Details
in the installation section in the user's guide.
**Performance improvements in VM_Memory copying routines used by
System.arraycopy and copying GC resulted in 10% improvement in
** Fixed problems in alignment support in JMTk that were causing crashes
in GC on PowerPC/AIX when doubleword alignment of long and double
was enabled. This is a bug that was introduced in version 2.3.1 and is
fixed in 2.3.2.
** Fixed performance problem in profile-directed inlining where the
AI Organizer forces recompilation of methods in an attempt to inline
runtime service routines that won't be inlined no matter how many
times we try. Problem has always existed, but became much more severe
in 2.3.0 release when we disabled the inlining of allocation sequences
if the size of the object was not known at compile time.
** Fixed bug in which non-virtualizable interface calls where not being
considered as candidates for feedback-directed inlining.
** We now provide all of the mandatory system properties
for the Java 1.4.2 API.
** Fixed bug in which the time zone code always thought
the user was on New York time.
** We now can print a meaningful message when we get
an ErrorInInitializerError in the early stages of booting the VM
before it is able to load in new classes. We had incorrectly left
ErrorInInitializerError out of the VM's list of boot classes.
** If an uncaught exception is thrown while booting,
we no longer try to print to the uninitialized System.err stream.
That used to trigger a NullPointerException.