[jdk20] RFR: 8299733: AArch64: "unexpected literal addressing mode" assertion failure with -XX:+PrintC1Statistics

Nick Gasson ngasson at openjdk.org
Fri Jan 6 14:55:00 UTC 2023


`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

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

Commit messages:
 - 8299733: AArch64: "unexpected literal addressing mode" assertion failure with -XX:+PrintC1Statistics

Changes: https://git.openjdk.org/jdk20/pull/87/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk20&pr=87&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8299733
  Stats: 8 lines in 1 file changed: 6 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk20/pull/87.diff
  Fetch: git fetch https://git.openjdk.org/jdk20 pull/87/head:pull/87

PR: https://git.openjdk.org/jdk20/pull/87


More information about the hotspot-compiler-dev mailing list