Dashboard > RVM > Home
RVM
Home
Added by Xircles System User , last edited by Ian Rogers on May 30, 2008  (view change)
Labels: 
(None)

Jikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. The system is licensed under an OSI approved license. Jikes RVM runs on many platforms and advances the state-of-the-art of virtual machine technologies for dynamic compilation, adaptive optimization, garbage collection, thread scheduling, and synchronization. A distinguishing characteristic of Jikes RVM is that it is implemented in the Java™ programming language and is self-hosted i.e., its Java code runs on itself without requiring a second virtual machine. Most other virtual machines for the Java platform are written in native code (typically, C or C++). A Java implementation provides ease of portability, and a seamless integration of virtual machine and application resources such as objects, threads, and operating-system interfaces.

Many researchers have found that Jikes RVM provides a useful vehicle for research on the frontiers of virtual machine technologies (over 188 publications and 36 dissertations), as well as teaching courses. If you are looking for where to start reading about the Jikes RVM we have a recommended reading page.

News

Last changed May 15, 2008 05:22 by Ian Rogers
Labels: frontpage

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 JIRA.

The release is available from SourceForge.
** Improvement
    * [RVM-81] - Annotations in java.lang classes through bytecode engineering
    * [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 character 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
    * [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.

** Bug
    * [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

Posted at 10 May @ 8:16 PM by David Grove | 0 comments
Last changed May 08, 2008 09:03 by Ian Rogers
Labels: frontpage

Congratulations to Georgios Gousios (Athens University of Economics and Business), Byeongcheol Lee (University of Texas in Austin), Filip Pizlo (Purdue University) for being selected to work on Jikes RVM projects for the SoC. Georgios is working on Jikes RVM and JNode integration, Byeongcheol is working on extending debugger support, Filip is looking at extending the threading model.

Posted at 08 May @ 9:03 AM by Ian Rogers | 0 comments
Last changed Mar 17, 2008 16:54 by Ian Rogers
Labels: frontpage

I'm pleased to announce the Jikes RVM has been accepted into the Google Summer of Code for the 2nd year! We have a range of mentors bringing together experience from the Jikes RVM and related projects. Please have a look at our project proposals and our application template. As with last year, if you think there is an interesting project that should be listed but hasn't been then please feel free to propose it. To better integrate with our bug and feature tracking system we would much prefer if such proposals could also be added in to our issue tracker. We look forward to interest from prospective students! Don't forget the deadline for applications is March 31st.

Posted at 17 Mar @ 4:54 PM by Ian Rogers | 0 comments
Last changed Dec 01, 2007 10:35 by Ian Rogers
Labels: frontpage

Jikes RVM (nee Jalapeno) turned 10 years old last week!  The first lines of code in what became Jikes RVM were written by Derek Lieber on Nov 21, 1997.

Posted at 29 Nov @ 7:45 AM by David Grove | 0 comments
Labels: frontpage

We are very happy to welcome Michael Bond and Andrew Hughes to the Jikes RVM core team! Both Michael and Andrew have made numerous contributions to the RVM and we look forward to their future efforts.

Posted at 20 Sep @ 11:16 AM by Ian Rogers | 0 comments

Site running on a free Atlassian Confluence Open Source Project License granted to The Codehaus. Evaluate Confluence today.
Powered by Atlassian Confluence, the Enterprise Wiki. (Version: 2.6.2 Build:#919 Nov 26, 2007) - Bug/feature request - Contact Administrators