JEP proposal: "PowerPC/AIX Port"

Volker Simonis volker.simonis at
Tue Jan 15 08:56:41 PST 2013


before officially submitting this JEP proposal I want to post it here
for discussion.

Please notice that the focus of this JEP is not the porting effort
itself which has been mostly completed [1] but rather the integration
of the ports into the JDK8 main repository.

As always, any further comments, suggestions or questions are
highly welcome.

Thank you and best regards,

-------------- next part --------------
Title: PowerPC/AIX Port
Author: Volker Simonis
Organization: SAP AG
Created: 2013/01/11
Type: Feature
State: Draft
Exposure: Open
Component: --/--
Scope: Implementation
Discussion: porters-dev at
Start: 2013/Q2
Effort: L
Duration: M
Template: 1.0
Funded-by: IBM, SAP AG


Provide a full-featured, high-quality, certified version of OpenJDK 8 for the
Linux/PowerPC64 and AIX/PowerPC64 platforms.


- Extend the platform coverage of the OpenJDK
- Refactor and modularize the OpenJDK source base to simplify future ports
- Foster the collaboration between Java implementers in the OpenJDK


The [PowerPC/AIX Porting Project][1] has ported the OpenJDK source base to two
new platforms: Linux/PowerPC64 and AIX/PowerPC64. It has implemented the C++
interpreter (which is also used by the [Zero port][3]) and the C2 Server JIT
compiler on the new platforms. Notice that these two new ports are actually
back-ports of commercial Java offerings by IBM and SAP and as such the code
base can be considered stable and production ready.

The focus of this JEP is not the porting effort itself which has been mostly
completed but rather the integration of the ports into the JDK8 main
repository. To accomplish this task, the project requires support and
commitment by Oracle for reviewing and committing the changes. Notice that due
to the current infrastructure restrictions this is only possible from within
Oracle for the *hotspot* repository.


IBM and SAP [regularly build and test][2] the ports on the porting platforms as
well as on the currently supported OpenJDK platforms to ensure that no
regressions are being introduced which break the existing platforms.

IBM and SAP are committed to fully support (i.e. regularly update, enhance and
test) the new platforms introduced by this project within the OpenJDK project.


Most of the changes provided by this project won't affect the current OpenJDK
platforms in any way because they are only active on the new platforms.
Although the project tried to minimize changes in shared code it was
nevertheless necessary to make selective changes in common code sections if it
was not otherwise possible to support features or workaround restrictions of
the new platforms.

Most of the shared code changes are within the *hotspot* forest due to the need

- support features in the C++ Interpreter which were not yet implemented there
  (MethodHandles, Profiling, compressed Oops, etc.)
- support the weak memory model of the PowerPC architecture
- support new processor requirements in the C2 server compiler
  (calling conventions, memory ordering, assembler peculiarities)
- support new OS-specific features on AIX (e.g. memory management)

The shared changes in the *jdk* forest are mostly owed to AIX specific
adaptions in the various native implementations of the class library.

Of course there are also minor changes in the build system but they shouldn't
cause too much trouble.


More information about the porters-dev mailing list