We're very proud to announce that Jikes RVM version 2.9.1
is now available for download. There's been quite a bit of activity on
the project since 2.9.0, and all kinds of good reasons to move up to this
new version of Jikes RVM!
The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.1.tar.bz2.
The release notes are appended below:
*Jikes RVM 2.9.1 Release Notes (July 2, 2007)
*** A major stability drive has resulted in Jikes RVM being able to
reliably run the entire DaCapo benchmark suite on ia32-linux.
The following issues were resolved to make this possible:
r12809: Missed lock prefix (stack scanning failures).
r12737: GC map iterator crashed on dynamic link frames.
r12302: Classpath RandomAccessFile incorrectly truncated.
r12394: PLOS exhaustion bug in MMTk.
r12375: ThinLock of interface from OPT code.
r12815: Bad GC map in JNI methods.
r12722: Fix for GC map bugs around expection throws.
r12602: Floating point precision (SSE2).
r12633: Parallel hardware traps.
r12683: Invalid assertion in VM_Thread.
r12742: Missing static initializer broke jar caching (halves runtime).
r12753: FileOutputStream wastefully copying arrays (halves runtime).
*** New eclipse-project ant target to make it easy to get up and running
*** As part of the stability drive, many O2 optimizations in the
optimizing compiler have been moved to O3 (and thus are not enabled by
default). The performance impact of this has been mixed. For example,
on ia32-linux SPECjvm98 performance actually improved by 29% due to
massive improvements in mtrt and mpegaudio enabled by SSE2. Performance
on SPECjbb2005 degraded by 3-10%. There were significant gains on some
individual DaCapo benchmarks (most notably xalan).
Re-building an aggressive O2 optimization package by stabilizing
current O3 optimizations and by building new optimization passes will be
one of the focus areas for the project going forward.
*** The recommended version of GNU classpath is 0.95.
Earlier versions of GNU classpath are not supported.
*** SSA expression folding has been expanded to cover far more cases than
previously. This leads to a > 1% speedup on benchmarks such as SpecJBB'05.
*** Source code analysis of the code base has been enabled using PMD
Basic analysis is enabled by default and
this will expand over time.
*** Methods in VM_Type that duplicated functionality in VM_TypeReference
now delegate to associated VM_TypeReference.
*** The ability to force a garbage collection after N allocations or at
exception delivery has been revived and is controlled by the configuration
variable config.stress-gc-interval which should be set to non-zero value
*** Simplistic debug symbols to show boot image method entry points in
gdb. Resolved issues with rvm script so this works with rvm -gdb now.
*** New faster primary regression machine (Core 2 Duo) for ia32-linux
at ANU. Resolved performance issues with previous regression machine.
*** Introduced the capability to patch against classpath versions. This
us to keep backported performance optimizations and/or bug fixes
*** Implementation of returning global JNI references from C to Java.
*** VM_ prefix added to classes that must be included in the primordial
class list. Classes affected include; PrintLN, PrintContainer,
ApplicationClassLoader, DebuggerThread, FinalizerThread, MainThread,
PPC_Disassembler, opcode_tab and opcodeXX.
*** Classes in the adaptive package have been reorganized into packages
to match the directory layout in 2.4.6 release.
*** Classes that resided in the objectmodel directory in 2.4.6 have
been moved in to the "org.jikesrvm.objectmodel" package.
*** Classes that resided in the scheduler directory in 2.4.6 have
been moved in to the "org.jikesrvm.scheduler" package.
*** Classes that resided in the runtime directory in 2.4.6 have
been moved in to the "org.jikesrvm.runtime" package.
** Bug fixes
*** Baseline GC map bug for handler blocks affecting SPECjbb2000
*** Classpath race in cloning of XML Node affecting SPECjbb2005
*** Fix final field chasing in OPT_Simplifier and re-enable constant
folding for fields.
*** A GC map generation problem caused by casting Address to Objects
and has been eliminated.