Fix passing struct with four floats in registers via reflection (dotnet/coreclr#7716)
authorJan Vorlicek <janvorli@microsoft.com>
Wed, 19 Oct 2016 06:43:29 +0000 (08:43 +0200)
committerJan Kotas <jkotas@microsoft.com>
Wed, 19 Oct 2016 06:43:29 +0000 (23:43 -0700)
commit289836ec3e0ff1189e67c33b94e8551394cd05ca
treef88c2a14e9248eb918ada85d73d8a8e8df5ab591
parent834b173fa19b20495197b9f87e5025e9ee9f7957
Fix passing struct with four floats in registers via reflection (dotnet/coreclr#7716)

This change fixes a bug in the code that copies a struct into the transition
frame. When it contains four floats, the first two are put to the right place,
but the following two are placed to an address that's offset by 8 instead of
by 16.

It also adds regression test for this problem as Pri 1 test.

Commit migrated from https://github.com/dotnet/coreclr/commit/6dc1f30d29893b8bb085523c49cc79d47d13f2b7
src/coreclr/src/vm/argdestination.h
src/coreclr/tests/src/Regressions/coreclr/GitHub_7685/Test7685.csproj [new file with mode: 0644]
src/coreclr/tests/src/Regressions/coreclr/GitHub_7685/test7685.cs [new file with mode: 0644]