RFR: 8342156: C2: Compilation failure with fewer arguments after JDK-8329032
Dean Long
dlong at openjdk.org
Mon Oct 21 20:42:27 UTC 2024
On Mon, 21 Oct 2024 14:05:54 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:
> 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.
Is this a problem when UseAPX is false? Where exactly is the rounding problem? If it's because number_of_registers != available_gp_registers then it feels like we are not fixing the problem but only masking its side-effects.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/21612#issuecomment-2427674557
More information about the hotspot-compiler-dev
mailing list