We're very proud to announce that Jikes RVM version 2.9.3 is now available for download! It's been a little bit longer than usual since the last release and there's been quite a bit of activity on the project and improvements to the system. The appended release notes capture many of the highlights; for more details see the hyperlinked version in JIRA (http://jira.codehaus.org/browse/RVM/fixforversion/13726).
The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.3.tar.bz2.
* [RVM-196] - VM_Processor not assignable with VM_GreenScheduler * [RVM-314] - Support for Java 1.4 assertions * [RVM-315] - java.lang.Method.invoke changes the parameters * [RVM-316] - A Null pointer for the UTF8CHARSET in java.util.zip.ZipFile$PartialInputStream * [RVM-326] - Failing basic tests don't signal failure * [RVM-330] - Thread.sleep() does not handle interrupts correctly * [RVM-339] - Image bloat (code +25% & data +5%) * [RVM-340] - Annotations don't handle arrays of primitive types correctly * [RVM-342] - NPE with advice files * [RVM-347] - PPC 64 regressions and Intel stress regressions since the introduction of read barriers * [RVM-351] - Javac regression * [RVM-352] - Running many iterations of _200_check fails floating point remainder test * [RVM-353] - Production Opt 0 builds broken * [RVM-355] - Complete SPEC JVM with 20 iterations dies in GC * [RVM-357] - Fatal error when synchronising on null objects * [RVM-365] - PPC (AIX) Stack Scanning Appears Broken * [RVM-368] - Compiler confusion over equal but non-identical objects * [RVM-374] - Static field allocation is non-deterministic * [RVM-380] - We create a lot (15909) optimization plan atomic elements using 572724bytes in the boot image * [RVM-383] - Branch likely and unlikely prefixes show up as LOCK prefixes in x86 disassembler output * [RVM-394] - Tune inlining of arraycopy * [RVM-412] - Latent branch optimization bug when maximizing blocks * [RVM-424] - Multianewarray confusion in opt compiler * [RVM-439] - OSR triggering code misuses suspend/resume * [RVM-447] - Inline size estimation reduction factor calculation over rates precise information causing bloat and slow down * [RVM-452] - Off-by-one error in "VMField.checkReadAccess" and "VM.checkWriteAccess" * [RVM-456] - Clean build broken * [RVM-464] - Opt compiler ldc_w for class literal broken * [RVM-466] - Four tests in test run "tiny" fail when compiled with -X:aos:initial_compiler=opt -X:aos:enable_recompilation=false * [RVM-467] - BURS performing illegal reordering to before PEI * [RVM-468] - Instanceof test differs in opt compiler from baseline for instanceof/checkcast of magic * [RVM-478] - Redesign AIX native method Linkage conventions to protect CMID field from being smashed by native code saved CR
* [RVM-81] - Annotations in java.lang classes * [RVM-195] - Enable inlining of @Pure methods * [RVM-274] - Remove OPT_ prefix from all opt compiler classes * [RVM-276] - opt compiler package structure * [RVM-304] - Improve performance of chacter encoder when encoding to and from arrays * [RVM-305] - Add final annotations to java.io.OutputStreamWriter * [RVM-308] - Greater use of StringBuilder rather than StringBuffer * [RVM-309] - Greater use of "<Number>.valueOf" rather than "new <Number>" * [RVM-310] - Class library fields that could be final aren't final * [RVM-311] - String toUpperCase and toLowerCase perform a String.equals to see if the Locale is Turkey per invocation * [RVM-322] - Intel assembler register naming improvement required * [RVM-331] - Implement support for MMX registers * [RVM-343] - Support for hardware SQRT instruction * [RVM-344] - Simplifier rule for square root operator * [RVM-378] - Avoid replicating field and method vectors * [RVM-379] - Don't replicate OSR_EncodedOSRMaps * [RVM-381] - Upgrade to Classpath 0.97 * [RVM-385] - Refactor reflection to use VM interface * [RVM-387] - Baseline compiler emits RegDisp instructions when the Disp is 0 * [RVM-390] - VM_Statics/JTOC space saving has cost us single iteration fop performance * [RVM-391] - Assign CPU # to each VM_Processor to have more predictable performance results. * [RVM-392] - Improvements to ZipEntry * [RVM-395] - Local common sub-expression elimination of Pure method calls * [RVM-408] - Simple elimination of stack traces * [RVM-417] - Switch performance runs to using a profiled image * [RVM-421] - Pre-allocate 1 set of exception registers for athrow * [RVM-422] - Update to latest Classpath j.u.c.CopyOnWriteArrayList * [RVM-431] - Fix processor JNI entry/collector rendezvous race * [RVM-433] - Increase final fields in java.nio * [RVM-435] - Don't allocate memory when converting C buffers to Strings or Classes * [RVM-437] - Integer.toString doesn't keep cache of common values * [RVM-451] - Structure of code in GNU Classpath java.util.Vector and java.util.Arraylist interacts poorly with inlining
** New Feature
* [RVM-210] - Add Image sizes tracking to Regression report and mailout * [RVM-319] - Create X10 test harness * [RVM-406] - Add Immix garbage collector * [RVM-441] - Sticky mark bits collector * [RVM-457] - Immix Garbage Collectors * [RVM-266] - Provide preliminary support for a non-copying unsynchronised StringBuffer implementation
** Task and Sub-task
* [RVM-425] - Implement 2d array helper for PPC baseline * [RVM-224] - Push OSR-specific fields in VM_NormalMethod to subclass/side data structure * [RVM-450] - Prevent compilation at max opt level before some dynamic call graph information has been gathered * [RVM-453] - Testing framework missing failures in basic tests that use diff for sanity.