ParaBoost Challenge: Step 3

This is step 3 of 3 of the ParaBoost Challenge.

The first versions of the Jikes RVM were developed at IBM Research under the name Jalapeno. The unique idea behind that virtual machine was to write it in Java, instead of writing it in a lower-level language like C or C++. Writing a complete Java virtual machine in Java leads to some interesting problems. An important early paper describing those problems and the approach taken by Jalapeno is the OOPSLA'99 paper with the title "Implementing jalapeƱo in Java". The paper is officially available in the ACM Digital Library, use that if you have access; otherwise you can find at least one inofficial copy with Google.

Read that paper. Don't worry if you do not understand all of it. However, if most of the paper looks incomprehensible to you, you may not want to apply for our PhD position (reading and writing such papers is a key part of doing a PhD in our research group).

Note that the paper describes an old version of the Jikes RVM. Jikes RVM has drastically changed over the last 12 years, and some of the discussions in the paper do not apply anymore. However, the paper is one of the canonical papers every researcher working on the Jikes RVM should read.

Your goal in this step is to briefly describe the key challenges of implementing a Java virtual machine in Java. Your description has to fit on one page in the ParaBoost Challenge document that you submit with your application.