0% found this document useful (0 votes)
107 views

Jikes RVM

The Jikes RVM is an open source Java virtual machine project written in Java. It contains a runtime system, dynamic class loader, garbage collector, baseline and optimizing compilers, and an adaptive optimization system. Originally a closed source IBM project called Jalapeño, it was released under an open source license in 2001 and supports Java 5 features through rewrites using modern Java language features.

Uploaded by

angelina uae
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
107 views

Jikes RVM

The Jikes RVM is an open source Java virtual machine project written in Java. It contains a runtime system, dynamic class loader, garbage collector, baseline and optimizing compilers, and an adaptive optimization system. Originally a closed source IBM project called Jalapeño, it was released under an open source license in 2001 and supports Java 5 features through rewrites using modern Java language features.

Uploaded by

angelina uae
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

The Jikes RVM

Dr. Ian Rogers


Jikes RVM Core Team Member

Research Fellow,
Advanced Processor Technologies Group,
The University of Manchester

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

What is the Jikes RVM?


An open source JVM project
Released under the CPL license

Written in Java
Started as a closed source IBM research project called Jalapeo
in December 1997

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Some of the major components


Runtime system
Dynamic linking and class loader
Thread support

Garbage collector - MMTk


Copying and noncopying, generational and nongenerational, hybrids
Type accurate - used in other projects rotor, ovm

Baseline compiler fast 1st compilation


Optimizing compiler
HIR LIR MIR conversion with optimisation at each level
Extended Array SSA form phases; BURS based instruction selector
On stack replacement, allows backing out of compiler decisions

Adaptive optimization system


Cost/benefit model to decide when and what to recompile

Boot image writer/runner

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Why write a JVM in Java?


Most parts of the JVM dont need to know about pointers
For the parts that dont we use compiler magic:
Pragmas tell the compiler not to emit the normal code sequence
Unboxed special types that behave more like primitive types (e.g.
Address)

There are potential benefits:

Compilation ahead of time of libraries into the boot image


No barriers to method inlining (other than JNI)
Reuse of Java tools
Platform independence

There are potential problems:


GC has to handle the application and the JVM
Boot strapping issues (e.g. class initializers)

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Other Java in Java VMs


JavaInJava Sun Microsystems 1998
Squawk Sun Microsystems 2002
Ovm Purdue 2004
Rivet MIT 1999
Joeq Stanford 2001
Moxie Intel 2006
And OS projects:
JNode Prengsma 2003
JX OS Erlangen 2001
JANOS Utah 1999

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Some early project highlights

Nov 97: project initiated


Mar 98: opt compiler,
Jan 00: adaptive system
2000: Port to Linux/PPC (UMass)
Jan 01 10/01: university releases to 16 universities via IP agreements
Not open source, cant collaborate, cant use for teaching

Oct 01: Open source release (CPL)


Jalapeno Jikes RVM
Used non-open source libraries from OTI

Dec 02: Switched to Classpath (mostly)


Apr 03: Full switch to Classpath, runs Eclipse
Dec 03: MacOS/PPC32
Nov 04: AIX/PPC64

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Since then
Regression testing infrastructure
Constant improvements throughout the VM

Move to make source editable in Eclipse


Switch to ant based build system

Support for Java 5.0


Rewrite of portions of the VM to use Java 5.0 language features

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Related research
Lots of garbage collection papers!
Dynamic parallelization
Manchester, Toronto

Transactional memories
Stanford

Distributed JVM
ANU

Aspects
Steamloom open source VM with dynamic aspects - Darmstadt

Machine learning for GC, dynamic compilation,


Binary translation
PearColator open source x86 and PPC binary translator - Manchester

Dynamically typed language support


Parakeet open source Parrot VM - Manchester

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Publications

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Dissertations

10

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Hopefully coming soon..


Interpreter
JDWP support
x86 64 support
JNode integration

11

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

Thanks

Please visit us at:


http://www.jikesrvm.org/

12

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

13

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

14

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

15

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

16

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

17

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

18

The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/

You might also like