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