[jdk20] RFR: 8299733: AArch64: "unexpected literal addressing mode" assertion failure with -XX:+PrintC1Statistics [v2]
Andrew Haley
aph at openjdk.org
Sat Jan 7 18:24:00 UTC 2023
On Fri, 6 Jan 2023 17:25:05 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
>
> Nick Gasson has updated the pull request incrementally with one additional commit since the last revision:
>
> Remove TestPrintC1Statistics from ProblemList-Xcomp
src/hotspot/cpu/aarch64/assembler_aarch64.hpp line 514:
> 512: default:
> 513: return base() == reg || index() == reg;
> 514: }
It'd be more robust if you enumerated all of the possibilities here, and used `ShouldNotReachHere()` on the default case.
-------------
PR: https://git.openjdk.org/jdk20/pull/87
More information about the hotspot-compiler-dev
mailing list