The goal of this project was to provide a full-featured and certifiable version of OpenJDK on the Linux/PowerPC and AIX/PowerPC platforms which can be ultimately integrated into the main OpenJDK development branches. This goal has been reached. Now the project maintains these platforms.

Ongoing work

SAP is continuously building and testing the port in the jdk8u and jdk11u codelines to avoid any regressions.

Further SAP is maintaining the ports in jdk/jdk and new releases together with IBM. IBM keeps tuning the ports.

Contributions

Contributions to the port are always welcome. We maintain some issues in the OpenJDK Jira, feel free to address any of these:

Supported features

The table lists in which JDK version the support for the feature was added.

linux

big endian

linux

little endian

aix

big endian

template interpreter

7

7

7

C2 compiler

7

7

7

C1 compiler

9

9

9

Servicability agent

9

9

no

Class Data Sharing

11

11

no

Java Flight Recorder

11

11

no

JEP 318

11

11

no

recognizes Power 9

11

11

11

JVMCI / graal

no

no

no

ZGC / Shenandoah

no

no

no

Status

In 2018, JDK 10 and JDK 11 have been released for linuxppc64, linuxppc64le and aixppc64. Various performance optimizations have been implemented by IBM and SAP. This includes optimizations of the GCs, e.g., cheaper barriers, and various improved or new intrinsics. The linux platforms support Class Data Sharing and Java Flight Recorder since JDK11. Many issues have been fixed. SAP discontinues active support of jdk7u.

In 2017 JDK 9 has been released for linuxppc64, linuxppc64le and aixppc64.

In 2016 the JDK 7 port has been integrated into the jdk7u main line. ppc-aix-port/jdk7u is closed now. SAP contributed a row of fixes and continuous improvements to JDK 8. SAP has been working on keeping the three ppc platforms up to date in the jdk 9 project. IBM has tested and optimized JDK 8 and 9 in the Casandra context and other open source use cases.

In December 2015 SAP finished contributing the C1 compiler to jdk9. The VM now utilizes TieredCompilation. It is not planned to downport this to jdk8u or jdk7u. Alexander Smundak of Google fixed the little endian port in jdk9 to report its platform as 'ppc64le'.

In March 2015 SAP finished contributing optimizations to the compressed oop modes, resulting in measurable performance improvements on ppc.

In November 2014 our ports have successfully passed all the Java SE 8 Test Compatibility Kit (TCK) tests on Fedora 19 Linux/PPC64 and AIX 7.1/PPC64. This means that our ports are fully compliant with the Java SE 8 specification on the named platforms.

In July 2014 Alexander Smundak of Google contributed the little-endian port of the template interpreter to jdk8u, jdk9 and jdk7u.

In April 2014 we also integrated the little-endian ppc port done by Alexander Smundak of Google into jdk8u, jdk9 and jdk7u. This port not yet supports the template interpreter and must be built setting --with-jvm-interpreter=cpp.

In April 2014we finished the port of the template interpreter for the big-endian platforms. The template interpreter also is ported back to the jdk 7 repository ppc-aix-port/jdk7u.

On March 27th 2014 all our Java 8 changes from the ppc-aix-port/stage forest have been bulk integrated into jdk8u/hs-dev and have now finally arrived in jdk8u/jdk8u-dev. The ppc-aix-port/stage forest has been set to read-only mode leaving ppc-aix-port/jdk7u as the only remaining, open repository of the project. We will keep this repository open and merge it from time to time with the upstream ppc-aix-port/jdk7u for downstream users of our port like Linux packagers or the new ppc64le (little-endian) community.

As of February 2014, our port has been integrated into the jdk9/hs-comp forest from where it will be automatically integrated into all the other Java 9 forests. As a result our ppc-aix-port/stage-9 forest has become obsolete and has been set to read-only mode. The ppc-aix-port/jdk8 forest isn't needed either, because all the Java 8 changes have been reviewed and integrated into our jdk7u/jdk7u-dev/ forest which is planned for integration into jdk8u-dev (right in time for the 8u20 release).

In December 2013we completed the C2 compiler and thus reached Milestone M3.1 of the PowerPC/AIX Port Integration Plan. HotSpot can now be built as server VM (with-jvm-variants=server). We also already added the majority of the changes targeted for M3.2 improving stability and performance of the port.

As of November 2013, we reached Milestone 2.3 of our PowerPC/AIX Port Integration Plan. This means that we can now build and use the the complete JDK from our staging repository on Linux as well as on AIX. The work on Milestone 3.1 "HotSpot changes for the PPC64 C2 Port" is progressing really well and we hope to have a C2 enabled VM by the end of the year.

As of September 2013, we reached Milstone 2.2 of our PowerPC/AIX Port Integration Plan. This means that we can now build and use the (still interpreter-only) HotSpot VM from the staging repository on AIX. We're currently working on getting the whole JDK 8 in the staging repository to build with the new build system on AIX.

As of August 2013, we reached Milstone 2.1of our PowerPC/AIX Port Integration Plan (i.e. we now have a buildable and runnable, interpreter-only JDK8 in the staging repository.

As of April 2013, the project has finalized its work on the Java 7 port. We've synchronized with the upstream http://hg.openjdk.java.net/jdk7u repository at tag 'jdk7u14-b14'. This particularly means that we now have a HotSpot 24 with the new JSR292 implementation in our JDK7 port. We also have a fully functional HotSpot 25 on Linux/PPC64 as well as on AIX in our http://hg.openjdk.java.net/jdk8/hotspot repository and on Linux/PPC64 the complete JDK8 can be build with the new build system. Currently we are focusing on completing the JDK8 port with the new build system on AIX.

As of January 2013, the project has reached its third milestone. The port has been stabilize and it successfully passed all the Java SE 7 Test Compatibility Kit (TCK) tests on SLES 11.1 Linux/PPC64 and AIX 5.3/PPC64. This means that the port is now fully compliant with the Java SE 7 specification on the named platforms. We have also initiated and filed "JEP 175 : Integrate PowerPC/AIX Port into JDK 8". The next steps will be to synchronize our jdk7 repository with jdk7u-dev (we're currently still 7u6 based) and start working full steam on the integration of our changes into jdk8.

As of December 2012, the project has reached its second milestone. A mixed-mode VM (with the C++ Interpreter and the C2 "Server" JIT compiler) is available on both Linux/PPC64 and AIX/PPC64. It successfully runs different benchmarks (JVM98, JBB2005 and DaCapo) and is able to bootstrap itself. On our transitional ppc-aix-port project page you can download precompiled binaries of this new version of our port which can be used as a bootstrap JDK during the build process. There's also a detailed README-ppc.html file available which describes the build process on the two porting platforms. The next steps will be to certify our ports on Linux/PPC64 and AIX/PPC64 and integrate them upstream into the main JDK7/8 repositories. Concurrently we are also working on improving the performance which still lags behind that of our closed implementations.

As of July 2012, the project has reached its first milestone. An interpreter only version of the PowerPC port is available on Linux/PPC64. It successfully runs the JVM98 benchmark and is able to bootstrap itself. There's a transitional ppc-aix-port project page available which contains the nightly build logs of our project repositories on various platforms and a compiled version of the OpenJDK for Linux/PPC64 which can be used as a bootstrap JDK during the build process. The next steps will be to complete the build on AIX (currently only the HotSpot build is working on AIX) and start the port of the C2 server JIT compiler.