Fix for missing GC ref map record on ARM64 for the X8 register (dotnet/coreclr#22309)
GC stress testing revealed a deficiency in GC ref map on ARM64 - we weren't
emitting the entry corresponding to the X8 return buffer address because
a recent refactoring changed its location in the transition block. This change
generalizes transition block by exposing a new function
GetOffsetOfFirstGCRefMapSlot()
that returns the same value as
GetOffsetOfArgumentRegisters()
except on ARM64 where it returns the offset of the X8 register in the
transition block (above the callee-saved registers and 8-byte padding i.e.
at position 13 corresponding to offset 0x68, or
GetOffsetOfArgumentRegisters() - 8).
Thanks
Tomas
Commit migrated from https://github.com/dotnet/coreclr/commit/
d4d3af17d582a16e88b58789b116adcd2e07b605