Make the check for a struct fitting in a register check for either managed or native...
authorJeremy Koritzinsky <jekoritz@microsoft.com>
Tue, 30 Oct 2018 23:30:16 +0000 (16:30 -0700)
committerJeremy Koritzinsky <jkoritzinsky@gmail.com>
Thu, 1 Nov 2018 00:24:05 +0000 (17:24 -0700)
commit127dd27a8b9bd041f88cec4b8e5d794cc8630d2e
treec2c8d8da5a4f1b7c26dbfe9c9a85670e97af81f2
parentb54e0ae828161f75fde831b71678b3dc47a62b5e
Make the check for a struct fitting in a register check for either managed or native depending on the situation (i.e. managed call, reflection, P/Invoke) instead of only for managed. Fixes dotnet/coreclr#20702.

Clean up duplicate #ifdefs.

Move #ifdef into method impl instead of outside the implementations.

Move IsRegPassedStruct out of UNIX_AMD64_ABI #ifdef.

Move check for enregistered struct out of UNIX_AMD64_ABI #ifdef

Add dummy implementation of IsRegPassedStruct and IsNativeStructPassedInRegisters when UNIX_AMD64_ABI isn't defined.

Commit migrated from https://github.com/dotnet/coreclr/commit/014a56de050a8c36f1c4ae38a84891a09d17469f
src/coreclr/src/vm/callingconvention.h
src/coreclr/src/vm/class.h
src/coreclr/src/vm/dllimport.cpp
src/coreclr/src/vm/method.cpp
src/coreclr/src/vm/method.hpp
src/coreclr/src/vm/methodtable.h
src/coreclr/src/vm/reflectioninvocation.cpp