the jikes rvm | ian rogers, the university of manchester | dr. ian rogers jikes rvm core team...

18
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

Upload: jocelyn-molly-phelps

Post on 30-Dec-2015

220 views

Category:

Documents


1 download

TRANSCRIPT

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

Publications

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

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

Dissertations

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

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

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

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

Thanks

Please visit us at:http://www.jikesrvm.org/

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

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

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

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

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

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

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

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

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

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

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

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