RFR: 8305543: Ensure GC barriers for arraycopy on AArch64 use caller saved neon temp registers
Erik Österlund
eosterlund at openjdk.org
Tue Apr 4 13:12:18 UTC 2023
The arraycopy stubs on AArch64 now allows the GC to vectorize arraycopy barriers. That's great! But the gct3 registers we hand to the GC is v8 today, which is callee saved (well at least the lower 64 bits). Therefore, if the GC clobbers this temp registers, it can have unexpected side effects on the caller float/double registers. We should use a caller saved register instead.
This is only used by generational ZGC, so isn't a mainline bug yet. We should fix it before it becomes one.
-------------
Commit messages:
- 8305543: Ensure GC barriers for arraycopy on AArch64 use caller saved neon temp registers
Changes: https://git.openjdk.org/jdk/pull/13325/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=13325&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8305543
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/13325.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/13325/head:pull/13325
PR: https://git.openjdk.org/jdk/pull/13325
More information about the hotspot-compiler-dev
mailing list