RFR: 8363943: ARM32: Represent Registers as values [v2]

Ivan duke at openjdk.org
Tue Nov 11 22:53:07 UTC 2025


On Mon, 10 Nov 2025 12:52:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Ivan has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Proposed review changes were applied
>
> src/hotspot/cpu/arm/register_arm.hpp line 187:
> 
>> 185:   enum {
>> 186:     number_of_registers = NOT_COMPILER2(32) COMPILER2_PRESENT(64),
>> 187:     max_slots_per_register = 1
> 
> Can you double-check it is really `1`? For GPRs, we have `max_slots_per_register` at effectively `2`.

The change is consistent with previous version. Previously the value was calculated in `src/hotspot/cpu/arm/register_arm.hpp` inside ConcreteRegisterImpl class like this:

#ifdef COMPILER2
    log_bytes_per_fpr  = 2, // quad vectors
#else
    log_bytes_per_fpr  = 2, // double vectors
#endif
    ...
    log_vmregs_per_fpr = log_bytes_per_fpr - LogBytesPerInt,
    ...
    vmregs_per_fpr = 1 << log_vmregs_per_fpr,

`LogBytesPerInt` in `globalDefinitions.hpp` is 2, so the `vmregs_per_fpr` always evaluated to 1.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26525#discussion_r2516070032


More information about the hotspot-dev mailing list