Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Jikes RVM | Ian Rogers, The University of Manchester | Dr. Ian Rogers Jikes RVM Core Team Member Research Fellow, Advanced.

Similar presentations


Presentation on theme: "The Jikes RVM | Ian Rogers, The University of Manchester | Dr. Ian Rogers Jikes RVM Core Team Member Research Fellow, Advanced."— Presentation transcript:

1 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/ Dr. Ian Rogers Jikes 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/ 2 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/ 3 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 1 st 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/ 4 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/ 5 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/ 6 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/ 7 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/ 8 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/ 9 Publications

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

11 The Jikes RVM | Ian Rogers, The University of Manchester | http://www.jikesrvm.org/ 11 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/ 12 Thanks Please visit us at: http://www.jikesrvm.org/

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

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

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

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

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

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


Download ppt "The Jikes RVM | Ian Rogers, The University of Manchester | Dr. Ian Rogers Jikes RVM Core Team Member Research Fellow, Advanced."

Similar presentations


Ads by Google