Blog from March, 2007

Be quick! Students only have until Monday, March 26th to submit proposals for work they'd like to undertake with the Jikes RVM for the Google SoC. In our summer of code area we have a list of project ideas that should give you some ideas for project proposals. You can always come up with your own! For ideas on what the Jikes RVM has been used for in the past, browse these web pages. There really is an opportunity to write a project proposal that interests just about anybody with the Jikes RVM! As we say on the home page, the Jikes RVM is a flexible testbed for ideas. These ideas have ranged from binary translators (high performance emulators), to Java operating systems, to dynamically typed language support (for languages such as Perl), to aspect oriented programming, to state-of-the-art compiler, threading and garbage collection performance ideas.

Unsure about project ideas and your own ideas for things you can do with the Jikes RVM? The Jikes RVM community is an excellent sounding board. Why not subscribe and post your questions to the researchers mailing list. We welcome the opportunity to discuss your ideas, don't be afraid of the forum!

The Google SoC 2007 is an opportunity for students to be paid to develop the JikesRVM! The Jikes RVM was one of only 131 organizations selected by Google. For more information on the Google SoC and the Jikes RVM, see our SoC pages.

We're very happy to announce a new release of Jikes RVM: version 2.9.0.  Quite a bit has changed since 2.4.6 and we'd welcome feedback on the changes as we head towards a 3.0 release later this year. Thanks again to everyone who has pitched in to make this one of the most exciting Jikes RVM releases since our initial open source release in 2001!

The release is available at http://downloads.sourceforge.net/jikesrvm/jikesrvm-2.9.0.tar.bz2. The release notes are appended below:

Jikes RVM 2.9.0 Release Notes (March 15, 2007)

Highlights

  1. The five months since the release of 2.4.6 have been one of the most active periods in the open source history of the project.  A number of significant changes have been made to clean up and modernize the code base to enable future evolution. 
  2. We have made large scale changes to the structure of the source code to prepare for development of Jikes RVM from within standard Java IDEs.
  3. There is a new, ant-based, build and test system that have replaced jconfigure and RunSanityTests.
  4. We now use ecj (the Eclipse Java compiler) instead of jikes to compile our Java source files and have eliminated the preprocessor. 
  5. The userguide has been moved from latex into a wiki.  It has been updated to describe the new build and test systems. The release tarball contains a pdf and html version of the userguide.
  6. We now support Java5, we have switched to using the generics branch of GNU Classpath, and much of Jikes RVM has been rewritten to use Java 5 language features and generic types. 
  7. We have switched to using Java5 annotations for pragmas/magic. 
  8. The recommended version of GNU classpath is 0.93-generics. Earlier versions of GNU classpath are not supported.
  9. Support in the PPC baseline compiler for storing local variables in registers.
  10. Refactor of type system and JTOC.
  11. Support for packing subword sized fields in objects. Removal of hand packed fields. Various memory savings.
  12. System calls now supported in any file using SysCall annotation on a native method. VM_SysCall now generates implementation from annotation. VMMath now implemented using system calls.
  13. Support for chasing final fields reached from literal or static final fields. Greater optimization of object constant operands.
  14. Greater support for 387 constants. Simplification of 387 BURS rules.

Bug fixes

Yes...many (smile)  For details: svn log -r10915:11866

Other Notes

  1. The Quick compiler has been deleted.  It is now available as a patch on the research tracker, or via older releases (2.3.4 through 2.4.6).
  2. The HPM (Hardware Performance Monitor) code has been deleted. It is now available on the research tracker (item 1613215), by svn diff -r11162:11161, or in releases through 2.4.6.
  3. This release is known to not work on OS X.  We would like to get this platform working again;  if you use Jikes RVM on OS X and are willing to help fix it, please let us know.
Google Summer of Code 2007

The mentoring organization application deadline for the Google Summer of Code 2007 is March 12. This may lead to some really excellent work so please take the time to visit our Google Summer of Code 2007 page and possibly add yourself as a mentor on our application or add some project ideas.