[jdk20] RFR: 8299733: AArch64: "unexpected literal addressing mode" assertion failure with -XX:+PrintC1Statistics
Christian Hagedorn
chagedorn at openjdk.org
Fri Jan 6 15:47:58 UTC 2023
On Fri, 6 Jan 2023 14:46:36 GMT, Nick Gasson <ngasson at openjdk.org> wrote:
> `MacroAssembler::incrementw()` asserts that
>
>
> assert(!dst.uses(rscratch1), "invalid dst for address increment");
>
>
> But `Address::uses()` can only be called on non-literal addresses. We could change this assert to check `dst.getMode()` first but it seems cleaner to make `Address::uses()` handle the non-literal case.
>
> This failure is trivial to reproduce with:
>
>
> $ java -XX:+PrintC1Statistics -XX:+UseZGC --version
Looks good!
You should also undo the problem listing done for [JDK-8298053](https://bugs.openjdk.org/browse/JDK-8298053) which seems to be the same issue. The problem-listed test exercises `PrintC1Statistics`:
https://github.com/openjdk/jdk20/blob/5eee2a07f5db5979149cc3e96d4f608ed135a7b3/test/hotspot/jtreg/ProblemList-Xcomp.txt#L42
-------------
Marked as reviewed by chagedorn (Reviewer).
PR: https://git.openjdk.org/jdk20/pull/87
More information about the hotspot-compiler-dev
mailing list