RFR: 8334706: [JVMCI] APX registers incorrectly exposed on AMD64
Doug Simon
dnsimon at openjdk.org
Fri Jun 21 10:09:19 UTC 2024
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.
-------------
Commit messages:
- APX registers incorrectly exposed on AMD64
Changes: https://git.openjdk.org/jdk/pull/19824/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19824&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8334706
Stats: 15 lines in 2 files changed: 10 ins; 4 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/19824.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19824/head:pull/19824
PR: https://git.openjdk.org/jdk/pull/19824
More information about the hotspot-compiler-dev
mailing list