RFR: 8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()

Fei Yang fyang at openjdk.java.net
Wed Mar 17 01:39:19 UTC 2021


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.

-------------

Commit messages:
 - 8263676: AArch64: one potential bug in C1 LIRGenerator::generate_address()

Changes: https://git.openjdk.java.net/jdk/pull/3040/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=3040&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263676
  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/3040.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/3040/head:pull/3040

PR: https://git.openjdk.java.net/jdk/pull/3040


More information about the hotspot-compiler-dev mailing list