OpenJDK Logo
Power Logo from http://it.wikipedia.org/wiki/File:Power-architecture-logo.png

OpenJDK Porting Experiences:
The Good, the Bad, and the Downright Ugly

Steve Poole (IBM) & Volker Simonis (SAP)

Who we are - the PowerPC/AIX Port

The PowerPC/AIX Port Project: http://openjdk.java.net/projects/ppc-aix-port

State of the PowerPC/AIX Port

Build Results (1)

http://cr.openjdk.java.net/~simonis/ppc-aix-port/

OpenJDK PowerPC Port for Linux and AIX Nightly Build Results

Build Results (2)

http://cr.openjdk.java.net/~simonis/ppc-aix-port/

OpenJDK PowerPC Port for Linux and AIX Nightly Build Results

Test Results

http://cr.openjdk.java.net/~simonis/ppc-aix-port/test/test_results.html

OpenJDK PowerPC Port for Linux and AIX Nightly Test Results

Performance - JVM98

JVM98 results

Performance - JVM2008

JVM2008 results

Our background - the SAP JVM

The SAP JVM supports Java 1.4, 5, 6, 7 and runs on 15 platforms:

..and we provide support for any SAP JVM version until the end of days:)

The SAP JVM is derived from the Sun/Oracle code base:

We constantly integrate Oracle changes:

Our background - IBM J9

How we joined the OpenJDK

Announced at JavaOne 2006

SAP can't use OpenJDK directly:

It took 5 years until SAP "officially" joined the OpenJDK project:

Today, the OpenJDK is a playground and collaboration space for different implementers:

The OpenJDK Source Tree

The OpenJDK consists of two major building blocks.

The HotSpot VM

The HotSpot VM first appeared in 2000 with Java 1.3 and is constantly evolving since then.

Porting the HotSpot VM - Effort

The C++Interpreter

The MacroAssembler for your CPU is required for the Interpreter port!

The C2 "Server" JIT Compiler

The C2 "Server" JIT Compiler is the biggest (and most complicated) part of the HotSpot VM.
It consists of three main parts:

For every new architecture the corresponding AD file has to be written which means:

Changes in shared code

Basic changes:

C++Interpreter changes:

Porting the Class Library - Effort

Porting-Lessons learned

During the last years we've ported the JDK to several platforms and we learned that:

OpenJDK shortcomings (1)

The OpenJDK is still dominated by Oracle

The OpenJDK infrastructure

OpenJDK shortcomings (2)

There's no general procedure for the integration of bigger contributions.

Questions?

Rechenmaschiene von Philipp Matthäus Hahn (1739-1790) Quelle: Württembergisches Landesmuseum Stuttgart