the jikes rvm | ian rogers, the university of manchester | dr. ian rogers jikes rvm core team...
TRANSCRIPT
The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Dr. Ian RogersJikes RVM Core Team Member
Research Fellow,Advanced Processor Technologies Group,The University of Manchester
The Jikes RVM
2 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 Jalapeño in December 1997
3 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
4 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Why write a JVM in Java?
Most parts of the JVM don’t need to know about pointers For the parts that don’t 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)
5 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
6 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, can’t collaborate, can’t 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
7 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
8 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
9 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Publications
10 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Dissertations
11 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Hopefully coming soon..
Interpreter
JDWP support
x86 64 support
JNode integration
12 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/
Thanks
Please visit us at: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/