RFR: 8367397: Improve naming and terminology in regmask.hpp and regmask.cpp [v2]

Dean Long dlong at openjdk.org
Fri Sep 12 00:21:19 UTC 2025


On Thu, 11 Sep 2025 14:01:43 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:

>> Some names in `regmask.hpp` and `regmask.cpp` are unclear and should be improved.
>> 
>> ### Changeset
>> 
>> - Rename `RM_SIZE` to `RM_SIZE_IN_INTS` and `_RM_I` to `_RM_INT` to make it clear that these refer to integer-sized (32-bit) array elements.
>> - Rename `_RM_SIZE` to `_RM_SIZE_IN_WORDS` and `_RM_UP` to `_RM_WORD` to make it clear that these refer to machine-word-sized (32 or 64 bits depending on platform) array elements.
>> - Rename `_RM_MAX` to `_RM_WORD_MAX_INDEX` for clarity.
>> - Rename `is_AllStack` to `is_infinite` (and related resulting changes in comments and local variables). The old terminology "all-stack", referring to the infinite register mask bits, is misleading (as pointed out by @eme64 in https://github.com/openjdk/jdk/pull/20404#discussion_r2316234008). The reason is that the infinite bits do not represent *all* stack bits. Some stack bits are instead part of the non-infinite bits of the register mask.
>> 
>> ### Testing
>> 
>> - [GitHub Actions](https://github.com/dlunde/jdk/actions/runs/17638365968)
>> - `tier1` and HotSpot parts of `tier2` and `tier3` (and additional Oracle-internal testing) on Windows x64, Linux x64, Linux aarch64, macOS x64, and macOS aarch64.
>
> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Lowercase _RM_INT and _RM_WORD

src/hotspot/share/opto/regmask.hpp line 166:

> 164:   // indefinitely with ONE bits.  Returns TRUE if mask is infinite or
> 165:   // unbounded in size.  Returns FALSE if mask is finite size.
> 166:   bool is_infinite() const {

"infinite" hides the fact that these unbounded bits are stack bits and not register bits, but `is_UnboundedStack` or `is_InfiniteStack` might be too verbose.  How does `is_InfStack` sound?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27215#discussion_r2342628324


More information about the hotspot-compiler-dev mailing list