Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: mention bugginess of MarkCompact, update infrastructure section to account for Jenkins setup

NOTE: This page is a work-in-progress!

(incomplete) TODO list

...

General project status

Jikes RVM is currently the most popular platform for virtual machine research. This popularity is reflected in the particpation on the mailing lists where most questions can be answered.

...

  • Add support for the OpenJDK class libraries
  • Add Intel 64-bit support
  • Get DaCapo 9.12 running on the Jikes RVM

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

Benchmarks

  • DaCapo 2006-MR-2 runs on Jikes RVM
  • Some benchmarks of DaCapo 9.12 work
  • Parts of SPECjvm2008 work (see RVM-484)

Community

  • 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)
  • 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

...

  • SSA form is disabled. Scalar SSA form may be fixable; Heap SSA form is consider 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

Infrastructure

  • 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