[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 
HOTSPOT_SETUP_JVM_FEATURES.

* 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.

/Magnus


>
>> 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
> #endif
>
> This change would result  in the exact same declaration based on the number of registers
> derived from the structure in user.h.
>
> Bob.
>
>
>> I saw Hotspot changes before and I think they are fine (did not dive deep).
>>
>> Thanks,
>> Vladimir
>>
>> On 12/2/16 12:28 PM, Bob Vandette wrote:
>>> Please review the proposed changes to be integrated under JEP 297.
>>>
>>> Summary:
>>>
>>> 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:
>>>
>>> https://bugs.openjdk.java.net/browse/JDK-8168503
>>>
>>> Webrev:
>>>
>>> http://cr.openjdk.java.net/~bobv/8168503
>>>
>>>
>>> Note:
>>>
>>> A complete build-able forest containing these changes is located here: http://hg.openjdk.java.net/aarch32-port/jdk9-arm3264
>>>
>>> Thanks,
>>> Bob Vandette
>>>



More information about the aarch32-port-dev mailing list