RFR: 8334706: [JVMCI] APX registers incorrectly exposed on AMD64 [v2]

Tom Rodriguez never at openjdk.org
Fri Jun 21 13:43:12 UTC 2024


On Fri, 21 Jun 2024 12:30:25 GMT, Doug Simon <dnsimon at openjdk.org> wrote:

>> This PR fixes a bug introduced by [JDK-8329032](https://bugs.openjdk.org/browse/JDK-8329032) which added the APX registers to `AMD64.java`.
>> It broke [this invariant](https://github.com/openjdk/jdk/blob/d2bebffb1fd26fae4526afd33a818ee776b7102e/src/jdk.internal.vm.ci/share/classes/jdk/vm/ci/code/Architecture.java#L48-L52):
>> 
>>     /**
>>      * List of all available registers on this architecture. The index of each register in this list
>>      * is equal to its {@linkplain Register#number number}.
>>      */
>>     private final RegisterArray registers;
>> 
>> That invariant is relied upon by the Graal register allocator.
>> This PR now tests the invariant and fixes the definitions in `AMD64.java` that were violating it.
>> 
>> This fix was developed by @tkrodriguez.
>
> Doug Simon has updated the pull request incrementally with one additional commit since the last revision:
> 
>   added comment to AMD64.cpuRegisters

Looks good.  We should clean AMD64.java up a bit in a follow on PR.  It should be more obvious how to make these kinds of changes without touching a bunch of arrays.

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

Marked as reviewed by never (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/19824#pullrequestreview-2132689369


More information about the hotspot-compiler-dev mailing list