Jikes RVM (Research Virtual Machine) provides a flexible open testbed to prototype virtual machine technologies and experiment with a large variety of design alternatives. Jikes RVM runs on Linux®/IA-32, AIX™/PowerPC™, OSX/PowerPC, and Linux/PowerPC platforms and advances the state-of-the-art of virtual machine technologies for dynamic compilation, adaptive optimization, garbage collection, thread scheduling, and synchronization. A distinguishing characteristic of Jikes RVM is that it is implemented in the Java™ programming language and is self-hosted i.e., its Java code runs on itself without requiring a second virtual machine. Most other virtual machines for the Java platform are written in native code (typically, C or C++). A Java implementation provides ease of portability, and a seamless integration of virtual machine and application resources such as objects, threads, and operating-system interfaces.
Many researchers have found that Jikes RVM provides a useful vehicle for research on the frontiers of virtual machine technologies (over 100 publications), as well as teaching courses. To learn more about the system, you may want to read:
- Papers
- Historical overview of project (Apr. 2005)
- Technical summary of the structure of the system (Jan. 2000)
- Writing in Java (Nov. 1999)
- MMTk, the memory management system (Modular Design and Performance Impact, May. 2004, Performance Study, Jun. 2004)
- Adaptive optimization system (Oct. 2000,Nov. 2004)
- Porting the system to Linux/IA32 (Aug. 2002)
- Tutorial slides
- MMTk memory management toolkit (Oct. 2004)
- Optimizing compiler and adaptive system (Nov. 2002)
- Complete system (Sept. 2001)
- General field of dynamic compilation and adaptive optimization (June. 2004)
- User Guide