Jikes RVM explained

Jikes RVM should not be confused with Jikes.

Jikes RVM
Developer:Jikes RVM Team, contributors[1]
Latest Release Version:3.1.4
Operating System:Unix-like
Programming Language:Java
Genre:Java virtual machine, library
License:Eclipse Public License

Jikes Research Virtual Machine (Jikes RVM) is a mature virtual machine that runs programs written for the Java platform. Unlike most other Java virtual machines (JVMs), it is written in the programming language Java, in a style of implementation termed meta-circular. It is free and open source software released under an Eclipse Public License.

History

Bootstrap

Being meta-circular, Jikes RVM requires a bootstrapping JVM to run upon to create a boot image. The boot image is a view of the objects Jikes RVM requires to boot created using reflection in the bootstrap JVM. A small C loader is responsible for loading the boot image at runtime.

VM Magic

VM Magic is where the compiler generates different code for a class than the bytecodes within that class should perform. VM Magic classes allow direct access to memory and are key to the Memory Management Toolkit's performance. The VM Magic classes reside in the org.vmmagic package and have been reused in other Java projects.

Memory Management Toolkit

The Memory Management Toolkit (MMTk) is a set of precise garbage collectors that have been used within Jikes RVM and other projects such as the Singularity operating system and the Shared Source Common Language Infrastructure (SSCLI, formerly named Rotor).[4] As with the rest of the Jikes RVM, the implementation is in Java, but the main dependence is on VM Magic.

Class libraries

Either Apache Harmony or GNU Classpath class libraries can be used with Jikes RVM, with experimental support for OpenJDK's class library.

Compilers

Jikes RVM uses a fast baseline compiler to quickly generate code for a given architecture. Adaptive compiling then recompiles code with an optimizing compiler with features such as on-stack replacement (OSR). The adaptive compiling system uses a cost-benefit analysis model.

Runtime

Jikes RVM's runtime has many innovative features including mechanisms for fast locking, collaborative scheduling, and support for fast exception gathering and dispatch.

Processors

Jikes RVM supports PowerPC (or ppc) and IA-32 (or Intel x86, 32-bit) instruction set processor architectures.

Research

Since it is a research project, the emphasis of Jikes RVM is on researching new technologies, as is apparent from the scientific publications it has spawned – over 220 papers as of 2015.[5] [6]

Jikes RVM has also participated in the Google Summer of Code 2007, 2008, 2010, 2011, and 2012.

See also

External links

Notes and References

  1. Web site: Jikes RVM Team and Contributors.
  2. Web site: FAQ .
  3. Web site: 2012: Jikes Research Virtual Machine (RVM) | SIGPLAN . 2013-06-21 . dead . https://web.archive.org/web/20130703034150/http://www.sigplan.org/Awards/Software/2012 . 2013-07-03 .
  4. Web site: Jikes RVM Project Proposals 2009.
  5. Web site: Jikes RVM research papers.
  6. 2005 . The Jikes Research Virtual Machine project: Building an open-source research community . IBM Systems Journal . 44 . 2 .