[aarch64-port-dev ] RFR: 8168503 JEP 297: Unified arm32/arm64 Port
Magnus Ihse Bursie
magnus.ihse.bursie at oracle.com
Wed Dec 7 08:44:31 UTC 2016
On 2016-12-05 16:23, Bob Vandette wrote:
>> On Dec 2, 2016, at 8:04 PM, Vladimir Kozlov <vladimir.kozlov at oracle.com> wrote:
>> hi Bob,
>> I would suggest to have separate webrevs for different repositories because different groups should look on them.
> There are only 3 non hotspot files and they are on top. Forwarding to build-dev for their review.
Build changes mostly look good. A few comments:
* We try to use the autoconf defined "$with_opt" variables only when
checking and verifying arguments. In hotspot.m4, please let
SETUP_HOTSPOT_TARGET_CPU_PORT assign the user specified value to e.g.
OPENJDK_TARGET_CPU_PORT, and use that to do the check in
* In flags.m4, the SET_SHARED_LIBRARY_ORIGIN code checks
OPENJDK_TARGET_CPU_ARCH. I'd prefer if it checked OPENJDK_TARGET_CPU
instead, since explicitly checking the CPU_ARCH variable seems to
indicate that we want to test more than a single CPU, but for arm there
is only one. (At first, I thought this was a test for "arm64" as well.
If this was the intention, then the code is broken.)
* In CompileJvm.gmk, you might want to rephrase the comment, since from
now on both the original aarch64 and the new arm64 port are "open". What
the code does is in fact to select between the two different aarch64 ports.
>> For example, top repository and makefiles changes should be also reviewed on build-dev at openjdk.java.net
>> Why do you need cahnges in SA libproc.h?
> The cross compilation toolchains we use do not define user_regs_struct or user_pt_regs.
> I just looked again and there is a definition of struct user_regs in user.h. I might be able to change the code to:
> #if defined(arm) || defined(arm64)
> #define user_regs_struct user_regs
> This change would result in the exact same declaration based on the number of registers
> derived from the structure in user.h.
>> I saw Hotspot changes before and I think they are fine (did not dive deep).
>> On 12/2/16 12:28 PM, Bob Vandette wrote:
>>> Please review the proposed changes to be integrated under JEP 297.
>>> This JEP adds arm32 and arm64 Linux platform support to OpenJDK for JDK 9.
>>> This changeset also removes the support for the pregenerated interpreter since
>>> this is no longer supported.
>>> The addition of arm64 does not replace the existing aarch64 port. A new configure
>>> option (-with-cpu-port=) allows for the selection of the existing aarch64 versus the
>>> 64-bit arm64 support being added via this JEP. Please refer to the JEP for more details.
>>> JEP 297:
>>> A complete build-able forest containing these changes is located here: http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264
>>> Bob Vandette
More information about the hotspot-dev