RFR: 8342156: C2: Compilation failure with fewer arguments after JDK-8329032

Daniel Lundén dlunden at openjdk.org
Mon Oct 21 14:13:05 UTC 2024


Adding C2 register allocation support for APX EGPRs ([JDK-8329032](https://bugs.openjdk.org/browse/JDK-8329032)) reduced, due to unfortunate rounding in the register mask size computation, the available space for incoming/outgoing method arguments in register masks.

### Changeset

- Bump the number of 32-bit words dedicated to incoming/outgoing arguments in register masks from 3 to 4.
- Add a regression test.

### Testing

- [GitHub Actions](https://github.com/dlunde/jdk/actions/runs/11436050131)
- `tier1` to `tier4` (and additional Oracle-internal testing) on Windows x64, Linux x64, Linux aarch64, macOS x64, and macOS aarch64.
- C2 compilation time benchmarking for DaCapo on Windows x64, Linux x64, Linux aarch64, macOS x64, and macOS aarch64. There is no observable difference in C2 compilation time.

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

Commit messages:
 - Add one more word for incoming and outgoing registers

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

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


More information about the hotspot-compiler-dev mailing list