[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