Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: add page size issue; change wording about GenImmix stability


  • 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 components. If you think an important point is missing here, please contact us via the mailing lists.


  • Generational Immix (the default collector) is very stable
  • The other collectors are reasonably stable but have some bugs (as shown by the regression tests)
  • The MarkCompact collector is currently too buggy to use
  • Notable omissions in the collector choices include Baker-style collectors, the Compressor and on-the-fly collectors. Note: There is an implementation of the Sapphire garbage collector for Jikes RVM but as far as we know there's currently nobody working on getting the code into the mainline.
  • MMTk currently doesn't deal correctly with page sizes


  • The runtime is reasonably modular but it doesn't make very good use of interfaces
  • 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


  • 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 considered too buggy
  • Some standard optimizations are missing, e.g. Global Array Bound check elimination
  • Java Memory Model (JMM) is not correctly implemented
  • Bootimage compilation is single-threaded by default because it is too unrealiable with multiple threads


  • Regression tests are run regulary . The results are displayed with Cattrack, a Ruby-on-Rails application.There's currently no infrastructure for CI: Core team members need to ensure they run the pre-commit tests themselves.and reports are sent to the regressions mailing list
  • Core team members have access to a Jenkins server to view test results in detail
  • More regression machines would be useful, in particular PowerPC machines 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 tests