Subject: Exported From Confluence
Content-Type: text/html; charset=UTF-8
General project statu=
Jikes RVM is currently the most popular platform for virtual machine res=
earch. This popularity is reflected in the particpation on the mailing lists where most questions can be an=
Memory management research is a particular strength of the Jikes RVM. Th=
e Memory Management Toolkit (MMtk) provides a well-rounded selection of gar=
bage collectors and the co=
mpiler replay feature enables researchers to control mutator variation.=
The MMTk test harness c=
an be used to test collectors.
In contrast to this, the compilers are currently a weak spot in the Jike=
s RVM. For example, the Static Single Assignment (SSA) form in the compiler=
s is currently disabled because of bugs.
The Jikes RVM is not state-of-the-art in some areas. In particular, Jike=
s RVM currently does not provide 64-bit Intel Support. Another big limitati=
on is the lack of support for the OpenJDK class library. The project has re=
ceived community contributions to improve those shortcomings but the code i=
s not yet in the mainline. The Jikes RVM would also profit from efforts dir=
ected to stability improvements and bugfixes. For example, Jikes RVM curren=
tly cannot run all of the Dacapo 9.12 benchmarks.
The Jikes RVM team aims to provide at least one release every year.
Note: The information on this page refers to the status in the code =
repository and not to the status in the current release.
Note: If you want to help, please see How to Help or inquire via the mailing lists.
- Add support for the OpenJDK class libraries
- Add Intel 64-bit support
Preliminary long-term goals (still need further discussion)
- Improve stability
- Improve compliance with JVM spec
- Write unit tests for all classes
- Improve and extend test suites
- Add support for relevant new platforms (ARM?)
- Merge relevant changes from MRP
Detailed project status
This section provides more detailed project status information for the c=
omponents. If you think an important point is missing here, please contact =
us via the mailing lists.
- DaCapo 2006-MR-2 runs on Jikes RVM
- Some benchmarks of DaCapo 9.12 work
- Parts of SPECjvm2008 work (see RVM-484)
- Jikes RVM has a large community in its intended audience (researchers)<=
- Core team consists wholly of volunteers: no paid developers
- Jikes RVM is currently not packaged for any major distribution
- Generational Immix (the default collector) is very stable
- The other collectors are reasonably stable but have some bugs (as shown=
by the regression tests)
- Notable omissions in the collector choices include Baker-style collecto=
rs, the Compressor and on-the-fly collectors
- The runtime is reasonably modular but it doesn't make very good use of =
- Jikes RVM currently does not follow the JVM specification
- Several features normally found in commercial JVMs are not implemented:=
strictfp, JMX and JVMTI are currently unsupported
Adaptive Optimization S=
- The AOS provides a good level of control via compiler replay
- The AOS provides clear extension points
- Jikes RVM currently uses only one compilation thread at runtime and the=
current AOS model does not support multiple compilation threads
- The provided AOS models do not support Feedback-Directed Optimizations<=
- SSA form is disabled. Scalar SSA form may be fixable; Heap SSA form is =
considered too broken
- Many optimizations are disabled because they rely on SSA or are conside=
red too buggy
- Some standard optimizations are missing, e.g. Global Array Bound check =
- Java Memory Model (JMM) is not correctly implemented
- Regression tests are run regulary. The results are displayed with Cattr=
ack, a Ruby-on-Rails application.
- There's currently no infrastructure for CI: Core team members need to e=
nsure they run the pre-commit tests themselves.
- More regression machines would be useful, in particular PowerPC machine=
s that can be accessed by all team members
- Currently no code review tools in use
- Some unit tests (via JUnit) exist but most classes don't have unit test=