Webrev of Oracle ARM & AARCH64 Sources

Bob Vandette bob.vandette at oracle.com
Wed Sep 28 14:07:59 UTC 2016

I’m am please to announce that I have completed our internal reviews and can now
open up the sources to our ARM 32 & 64 bit implementations of JDK9.

Here is a webrev that includes a patch that can be applied on top of the
(http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264/ <http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264/>) forest.  

     http://cr.openjdk.java.net/~bobv/arm3264/webrev <http://cr.openjdk.java.net/~bobv/arm3264/webrev>


1. Counter to my initial email announcing the open sourcing effort,  the 
pregenerated interpreter is not included in the provided patch.  AOT is
our long term solution for increased performance on Mobile and it was decided
that we do not want to support the static interpreter beyond JDK 8.

2. In order to allow building the two different 64-bit ARM sources, I overloaded
a new configure option —abi-profile to allow for the selection of the Oracle 
64-bit ARM port.  We need a better solution before this support can be
integrated into the mainline.  To use the Oracle sources for an aarch64 build,
select —abi-profile=arm64.

3. The scripts provided below allows for the creation of the minimal, client and
server VMs for the Oracle aarch64 build, however, the jvm.cfg file is not 
automatically updated during the build.  To run a non server VM, this file 
will need to be updated.

4. In order to make it easier to keep the new open sources up to date with
their closed counterparts in jdk9, I have added a comment in 
hotspot/src/cpu/arm/vm/vm_version_ext_arm.hpp which contains the mercurial
revision that I last merged with.  This will make it easier to produce patches
to bring the new open files up to the latest version.

/* ARM sources Merged up to hotspot/src/closed changeset 2316:b247a2ea70e4 */

Build Scripts:

Here are a set of scripts that demonstrate how to build the three ARM
configurations.  We typically cross compile our ARM builds so these
scripts will have to be adjusted in order to build natively on an ARM system.

http://cr.openjdk.java.net/~bobv/arm3264/scripts/ <http://cr.openjdk.java.net/~bobv/arm3264/scripts/>

  aarch64.csh 	Builds the current open version of aarch64 binaries
  arm64.csh 	Builds the Oracle aarch64 binaries
  arm.csh 	Builds 32-bit ARM binaries

My next step is to push this changeset into the jdk9-arm3264 forest assuming I
achieve committer status for the aarch32 project this week.

Bob Vandette

More information about the aarch32-port-dev mailing list