Can I use Jikes RVM with a hardware simulator?
Some researchers wish to use Jikes RVM on top of a hardware simulator. There are at least three classes of simulator to consider. • Binary re-writers such as Valgrind and PIN • Functional simulators such as provided by SimICS and others. • Cycle accurate simulators such as SimpleScalar and PTLSim Binary re-writers should be able to run Jikes RVM out of the box. However, we know of at least three concerns: • Jikes RVM uses just-in-time compilation and also re-compilation. The simulator must be able to cope with self modifying code and dynamic code generation. • Jikes RVM makes use of the INT 0x40-43 instruction to generate synchronous traps for array bounds failures. This is not a commonly used instruction. Valgrind did not originally support the instruction, but subsequently did. Unfortunately support for the instruction was inadvertently dropped in a later release of Valgrind, but may have now been restored. To test whether this is a problem for your simulator, write a trivial program