RFR: 8300247: Harden C1 xchg on AArch64 and PPC

Erik Österlund eosterlund at openjdk.org
Wed Jan 18 09:10:25 UTC 2023


In the C1 xchg operation, AArch64 and PPC don't deal well with the input register and output register being the same. In some new code, that can happen. This change aims at solving that issue.

As for AArch64, the xchg implementation in the macro assembler already deals well with the input and output register being the same. So we just need to remove an assert. As for the PPC implementation, @TheRealMDoerr has written a variation that uses a temp operand ensuring that they are not the same register.

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

Commit messages:
 - 8300247: Harden C1 xchg on AArch64 and PPC

Changes: https://git.openjdk.org/jdk/pull/12065/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12065&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8300247
  Stats: 9 lines in 2 files changed: 6 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/12065.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12065/head:pull/12065

PR: https://git.openjdk.org/jdk/pull/12065


More information about the hotspot-compiler-dev mailing list