[aarch64-port-dev ] RFR(S) 8248660: AArch64: JDK-Windows: Make _clear_cache and _nop portable
Monica Beckwith
Monica.Beckwith at microsoft.com
Mon Aug 3 22:29:50 UTC 2020
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://mail.openjdk.java.net/pipermail/aarch64-port-dev/2020-July/009272.html
I have made the needful changes and ran them through JTREG for linux-aarch64, windows-aarch64, windows-x86-64, and linux-x86-64.
Webrev: http://cr.openjdk.java.net/~mbeckwit/8248660/webrev.01/
JBS: https://bugs.openjdk.java.net/browse/JDK-8248660
I wanted to highlight a small change that I made:
- For void __builtin___clear_cache (void *begin, void *end); the `begin` is inclusive, and `end` is exclusive [1].
- Hence for icache_linux_aarch64.hpp’s invalidate_word(), I changed the end to `addr + 4` which previously was `addr + 3`. So it now reads:
__builtin___clear_cache((char *)addr, (char *)(addr + 4));
Although there is forced instruction alignment on Arm64, I still felt I should correct the "victimless crime" (as one of our kernel experts puts it. )
Regards,
-Monica
[1]: https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
More information about the aarch64-port-dev
mailing list