|Project Title||Bytecode verifier|
Jikes RVM currently does not implement a bytecode verifier. We would like to have a bytecode verifier that can verify classfiles at least up until Java 6 (we don't support Java 7 yet). The verifier needs to work with the baseline compiler as well as the optimizing compiler. Ideally, it should be possible to use the verifier from the command line without actually running the bytecode that is supposed to be checked. This could be done in a similar way to the OptTestHarness which enables users to control the compilers.
The verifier should be designed to support custom verification constraints. Some examples for possible constraints are listed in the JIRA issue linked below.
Jasmin assembler (useful for creating test cases that trigger verifier errors)
Java, reading papers and specifications, implementing algorithms from specifications and papers
The GCspy framework for garbage collector visualization has become out-of-date and needs improving [RVM-388]. GCSpy 2.0 should update the framework to work properly with the latest version of Jikes RVM. In particular, it should support discontiguous spaces and provide drivers for more of MMTk's GC algorithms. In addition, the rewrite might improve modularity, and possibly integrate with the Eclipse Rich Client Platform.
Java, C++, willingness to deal with low-level details, some understanding of garbage collection
|interested mentor||Richard Jones|