Fix ARM64 HFA arguments passing via reflection (dotnet/coreclr#26174)
* Fix ARM64 HFA arguments passing via reflection
There was an issue happening in case there were not enough floating point
registers for passing a HFA argument. The argument iterator was returning
confusing result for such argument. The offset was correctly pointing to
stack, but the state indicated that the arguments should be passed in
registers. That caused the argument to be passed incorrectly.
The fix is to not set m_hasArgLocDescForStructInRegs when the HFA doesn't
fit into registers.
Commit migrated from https://github.com/dotnet/coreclr/commit/
230c33193842d28c8d6c2a341563f7defd4febc4