The Jikes RVM Dr Ian Rogers Jikes RVM

  • Slides: 18
Download presentation
The Jikes RVM Dr. Ian Rogers Jikes RVM Core Team Member Research Fellow, Advanced

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

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 2 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

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 3 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

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) 4 The Jikes RVM | Ian Rogers, The University of Manchester | http: //www. jikesrvm. org/

Other Java in Java VMs § Java. In. Java – Sun Microsystems 1998 §

Other Java in Java VMs § Java. In. Java – 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 5 The Jikes RVM | Ian Rogers, The University of Manchester | http: //www. jikesrvm. org/

Some early project highlights § § § Nov ‘ 97: project initiated Mar ‘

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 § § 6 Dec ‘ 02: Switched to Classpath (mostly) Apr ’ 03: Full switch to Classpath, runs Eclipse Dec ’ 03: Mac. OS/PPC 32 Nov ’ 04: AIX/PPC 64 The Jikes RVM | Ian Rogers, The University of Manchester | http: //www. jikesrvm. org/

Since then… § Regression testing infrastructure § Constant improvements throughout the VM § Move

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 7 The Jikes RVM | Ian Rogers, The University of Manchester | http: //www. jikesrvm. org/

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

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 § Pear. Colator – open source x 86 and PPC binary translator - Manchester § Dynamically typed language support § Parakeet – open source Parrot VM - Manchester 8 The Jikes RVM | Ian Rogers, The University of Manchester | http: //www. jikesrvm. org/

Publications 9 The Jikes RVM | Ian Rogers, The University of Manchester | http:

Publications 9 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:

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

Hopefully coming soon. . § Interpreter § JDWP support § x 86 64 support

Hopefully coming soon. . § Interpreter § JDWP support § x 86 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 |

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.

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.

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.

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.

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.

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.

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