Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added new project

...

Project TitlePort Jikes RVM compilers to ARM
RVM area
compilers
outline

Jikes RVM currently supports 32-bit Intel, and 32- and 64-bit Power PC architectures. This project involves porting Jikes RVM (initially the baseline compiler) to the 32-bit ARM architecture. Ambitious students could consider the optimizing compiler too, as a second step. Lots of preparatory work has been done in this area. I had an undergraduate student project at Glasgow University this year. He has done excellent refactoring work and we should be able to build on this to get a fully functional baseline compiler.

references

When my student's project is marked, I will put a PDF document up here. In the mean time, here is an out of date thesis about an earlier porting effort to ARM.

needed skills

Java, willingness to deal with low-level details, familiarity with ARM instruction set

difficultymoderate to difficult
interested mentorJeremy Singer, also support available from colleagues at ARM directly. Please get in touch to discuss details!

 

...

 

Project TitleImplement new Quick compiler
RVM area
compilers
outline

A Quick Compiler that does simple optimization and some use of
registers, possibly modeled after existing dynamic code generation systems
such as that of QEMU or valgrind. The point of such a compiler is to exploit
"low hanging fruit". Previous work (10 years ago) took a somewhat different
approach, but suggested that a compiler that applied a simple approach to
register allocation and a some simple optimizations reduced total execution
over the current Baseline or Baseline+Opt compilation systems.

references

QEMU and valgrind are good starting points for developing the
compilation / optimization strategy.

needed skills

compiler expertise (analyses and optimizations)

difficultymoderate to difficult
interested mentorEliot Moss

 

...

 

Project TitleReengineer Command Line Flag parsing in Jikes RVM
RVM area
infrastructure
outline

Jikes RVM has lots of command-line flags, as you can see from the command line help. Researchers add new flags all the time, when they are working on experimental features. The current techniques for adding new flags, parsing flags, etc is quite complex. This project is about refactoring the code to make command line flag handling more straightforward. Possibilities (negotiable) include autocomplete for flags, suggestions for unrecognised flags, etc.

references

Maybe look at Google commandline flags library, and at bash completion for some ideas.

needed skills

Java

difficultyeasy to moderate
interested mentorJeremy Singer Please get in touch to discuss details!