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