RFR: 8305543: Ensure GC barriers for arraycopy on AArch64 use caller saved neon temp registers

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Wed Apr 5 07:19:06 UTC 2023


On Tue, 4 Apr 2023 13:02:05 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

> 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.

Looks good! We should improve our test coverage in this area.

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

Marked as reviewed by rcastanedalo (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/13325#pullrequestreview-1372290277


More information about the hotspot-compiler-dev mailing list