[aarch64-port-dev ] RFR(S) 8248660: AArch64: JDK-Windows: Make _clear_cache and _nop portable
Monica Beckwith
Monica.Beckwith at microsoft.com
Tue Aug 18 19:02:00 UTC 2020
Anton - please refer to my email on the builtin__clear_cache fix: https://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-August/009403.html. (Gist: The original +3 was not correct and hence the change to +4)
-Monica
-----Original Message-----
From: Anton Kozlov <akozlov at azul.com>
Sent: Tuesday, August 18, 2020 12:53 PM
To: Andrew Haley <aph at redhat.com>; Monica Beckwith <Monica.Beckwith at microsoft.com>; aarch64-port-dev at openjdk.java.net
Cc: openjdk-aarch64 <openjdk-aarch64 at microsoft.com>
Subject: Re: [aarch64-port-dev ] RFR(S) 8248660: AArch64: JDK-Windows: Make _clear_cache and _nop portable
Hi,
> On 8/3/20 11:29 PM, Monica Beckwith wrote:
>> Hi all, could I please get a review for the following webrev? I had
>> previously sent this out for feedback and Kim had provided feedback
>> on the usual way to handle such changes:
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmai
>> l.openjdk.java.net%2Fpipermail%2Faarch64-port-dev%2F2020-July%2F00927
>> 2.html&data=02%7C01%7Cmonica.beckwith%40microsoft.com%7C877aba35b
>> ffc49bc771b08d8439df0d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C
>> 637333692914167361&sdata=xm8za2G1bPPqlXoM6yA7CBFg94R1l9F6Gr82ZJMi
>> EBs%3D&reserved=0
>>
>> I have made the needful changes and ran them through JTREG for linux-aarch64, windows-aarch64, windows-x86-64, and linux-x86-64.
>>
>> Webrev: https://nam06.safelinks.protection.outlook.com/?url=http:%2F%2Fcr.openjdk.java.net%2F~mbeckwit%2F8248660%2Fwebrev.01%2F&data=02%7C01%7Cmonica.beckwith%40microsoft.com%7C877aba35bffc49bc771b08d8439df0d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637333692914177315&sdata=t7jYLFTBIMBatnkJdJY%2BQmISAozEHnZmXvytGiVvHsk%3D&reserved=0
>> JBS: https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.openjdk.java.net%2Fbrowse%2FJDK-8248660&data=02%7C01%7Cmonica.beckwith%40microsoft.com%7C877aba35bffc49bc771b08d8439df0d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637333692914177315&sdata=bGLGYacKtU4GCm9zEjWqL8PyWtzzR1u%2FStCbxRhhRwc%3D&reserved=0
+++ b/src/hotspot/cpu/aarch64/assembler_aarch64.hpp
- asm volatile ("nop");
+ NOP();
This code seems to be the only user of the new NOP() macro. This [1] and another [2] place are the only occurrences of asm_bp. It looks like a debugging aid that is unlikely to be used by anyone now. Is it possible to remove asm_bp and the nop at all?
And nitpiking,
--- a/src/hotspot/cpu/aarch64/icache_aarch64.hpp
+++ b/src/hotspot/os_cpu/linux_aarch64/icache_linux_aarch64.hpp
- __builtin___clear_cache((char *)addr, (char *)(addr + 3));
+ __builtin___clear_cache((char *)addr, (char *)(addr + 4));
an extra byte is invalidated, a typo?
Thanks,
Anton
[1] https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhg.openjdk.java.net%2Fjdk%2Fjdk%2Ffile%2Fa51ce7f4ee54%2Fsrc%2Fhotspot%2Fcpu%2Faarch64%2Fassembler_aarch64.cpp%23l33&data=02%7C01%7Cmonica.beckwith%40microsoft.com%7C877aba35bffc49bc771b08d8439df0d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637333692914177315&sdata=ozVwjDL5m9tzPvlOz%2FXomVbJeNAD8zyPCILyb5QR%2BwU%3D&reserved=0
[2] https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fhg.openjdk.java.net%2Fjdk%2Fjdk%2Ffile%2Fa51ce7f4ee54%2Fsrc%2Fhotspot%2Fcpu%2Faarch64%2Fassembler_aarch64.hpp%23l611&data=02%7C01%7Cmonica.beckwith%40microsoft.com%7C877aba35bffc49bc771b08d8439df0d8%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637333692914177315&sdata=8%2BLXdyP2%2F5vf%2B8yG0ko4f6LkFvjdBosu%2BexeUk43q5A%3D&reserved=0
More information about the aarch64-port-dev
mailing list