Summary

Motivation

AArch64 is the new processor architecture from ARM Holdings plc. It
is a departure from the 32-bit ARM processor architecture, and is
effectively a complete redesign. It needs a new OpenJDK port.

Description

We (the AArch64 Porting Project) have ported the JDK to a new
platform: Linux/AArch64. We have implemented the template
interpreter, the C1 (client) and the C2 (server) JIT compilers.

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
OpenJDK master repositories.

Currently we have a large number of trivial changesets in the shared
part of the HotSpot repository. These are mostly #ifdef's that
include the relevant platform-specific files. There are a few changes
of other kinds, but again these are guarded by #ifdef AARCH64. Thus,
the risk to other platforms is low.

There are also changes to the build machinery of HotSpot and rest of
the JDK to add appropriate definitions for endianness, word size, and
so on. Again, these should not affect other platforms.

Most of the changes to be integrated won’t affect the current OpenJDK
platforms in any way because they are only active on the new
platform.

There are also changes in the build system but they shouldn’t cause
much trouble.

Testing

Red Hat and Linaro regularly build and test the ports on the porting
platforms as well as on the currently-supported JDK 8 platforms to
ensure that no regressions are being introduced which break the
existing platforms.

Red Hat is committed to support fully (i.e., regularly update,
enhance, and test) the code for the new platforms introduced by this
effort.

Risks and Assumptions

There are potentially some issues with the availablility of AArch64
hardware to do this work, but we hope that it will become widely
available in the course of this project.

Similarly to the PPC/AIX port, a staging forest owned by the AArch64 Port
Project will be created (e.g., aarch64-port/stage) to contain changesets
that have been Reviewed and approved.