RFR: 8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()
Andrew Dinn
adinn at openjdk.java.net
Wed Mar 17 10:11:47 UTC 2021
On Wed, 17 Mar 2021 01:34:56 GMT, Fei Yang <fyang at openjdk.org> wrote:
> Noticed this issue when I am trying to backport: https://bugs.openjdk.java.net/browse/JDK-8263425
>
> Around line 180 we have:
>
> __ add(index, LIR_OprFact::intptrConst(large_disp), tmp);
> index = tmp;
> } else {
> __ move(tmp, LIR_OprFact::intptrConst(large_disp)); <========
> __ add(tmp, index, tmp);
> index = tmp;
> }
>
> This is supposed to be calculating "tmp = large_disp" but it actually does "large_disp = tmp".
> Looks like this is missed by JDK-8263425.
> Tested tier1 with -XX:TieredStopAtLevel=1 on AArch64 Linux.
Nice catch!
-------------
Marked as reviewed by adinn (Reviewer).
PR: https://git.openjdk.java.net/jdk/pull/3040
More information about the hotspot-compiler-dev
mailing list