RFR: 8209093 - JEP 340: One AArch64 Port, Not Two

David Holmes david.holmes at oracle.com
Fri Sep 21 02:34:19 UTC 2018

Hi Simon,

On 20/09/2018 7:48 AM, Simon Nash wrote:
> On 19/09/2018 07:44, David Holmes wrote:
>> Hi Bob,
>> On 18/09/2018 11:17 PM, Bob Vandette wrote:
>>> I only did some basic testing of the hard-float abi.  Bell SW has 
>>> offered to do more extensive testing
>>> as part of this JEP.
>>> I have no way of knowing if any of the other profiles are being used 
>>> but I would think it’s
>>> worth keeping them in the event that someone wants to try to 
>>> build/test these other configurations.
>>> The goal of this JEP is to eliminate the arm64 port and not cause any 
>>> other changes in behavior.
>> Sorry I was under the mistaken impression that all of the Oracle ARM 
>> port was being removed, but it is only the 64-bit part.
>> That said it would concern me greatly if people are still building for 
>> anything older than ARMv7 with MP support! The work I'm doing to 
>> always act as-if MP is not only potentially inefficient on a 
>> uniprocessor, but for ARM variants without MP support, potentially it 
>> won't even run if instructions don't exist. I need to look into this 
>> further.
>> Thanks,
>> David
> David,
> My build for arm-sflt needs to run on ARMv5 uniprocessor maschines and 
> my build for arm-vfp-hflt needs to run on ARMv7 uniprocessor machines. 
> Is the work you are doing that could cause problems with this included 
> in JDK11 or just JDK12?

This is for JDK 12. Of course the intent is to not cause problems for 
anyone. The changes aim at simplifying the code whilst marginally 
improving performance in the common case of a multi-processor system, at 
the expense of potentially decreasing performance for uniprocessors. 
Though as has been pointed out in my review thread, the existing use of 
AssumeMP (default true) will be causing the same performance changes and 
for spinlocks my changes will improve things for uniprocessors.

My area of concern is where instructions issued for the MP case may not 
be valid on specific architectures. For example pldw is only available 
on ARMv7 with multi-processor extensions. I need to be sure, for 
example, only supported DMB/DSB variants are issued on ARMv5.


> Simon
>>> Bob.
>>>> On Sep 17, 2018, at 10:53 PM, David Holmes <david.holmes at oracle.com> 
>>>> wrote:
>>>> Hi Bob,
>>>> On 18/09/2018 2:20 AM, Bob Vandette wrote:
>>>>> Please review the changes related to JEP 340 which remove the 
>>>>> second 64-bit ARM port
>>>>> from the JDK.
>>>>> http://cr.openjdk.java.net/~bobv/8209093/webrev.01
>>>>> I’ve testing building the remaining 32 and 64 bit ARM ports 
>>>>> including the minimal, client and server VMs.
>>>>> I’ve run specJVM98 on the three 32-bit ARM VMs.
>>>> Did you test all the ARM related abi-profiles? It seems to me they 
>>>> were only for Oracle's ARM32 port and may have never been used 
>>>> otherwise. I would have expected all that stuff to be removed.
>>>> Cheers,
>>>> David
>>>>> I also verified that Linux x64 builds.
>>>>> Bob.

More information about the aarch32-port-dev mailing list