RFR: 8279560: AArch64: generate_compare_long_string_same_encoding and LARGE_LOOP_PREFETCH alignment
Andrew Haley
aph at openjdk.java.net
Mon Jan 10 16:37:27 UTC 2022
On Mon, 10 Jan 2022 13:04:06 GMT, Wang Huang <whuang at openjdk.org> wrote:
> Fix on code shape :
> ```c++
> __ bind(LARGE_LOOP_PREFETCH);
> __ prfm(Address(str1, SoftwarePrefetchHintDistance));
> __ prfm(Address(str2, SoftwarePrefetchHintDistance));
>
> __ align(OptoLoopAlignment);
>
> ->
>
> ```c++
> __ align(OptoLoopAlignment);
> __ bind(LARGE_LOOP_PREFETCH);
> __ prfm(Address(str1, SoftwarePrefetchHintDistance));
> __ prfm(Address(str2, SoftwarePrefetchHintDistance));
> ```
> Thanks to @shipilev for your great advice. Any comments and suggestions will be appreciated.
> > This looks fine to me, but someone else should take a look too.
> > Are there any benchmark affected by this change? A targeted String microbenchmark run would be enough.
>
> Thank you for your comment. The fixed version has been tested on Apple M1 (using #5129 's benchmark) without performance degradation.
It'd be nice to see an improvement. I suspect (but don't know) that this doesn't affect AArch64.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7007
More information about the hotspot-compiler-dev
mailing list