diff options
author | Jeremy Koritzinsky <jekoritz@microsoft.com> | 2018-10-30 16:30:16 -0700 |
---|---|---|
committer | Jeremy Koritzinsky <jkoritzinsky@gmail.com> | 2018-10-31 17:24:05 -0700 |
commit | 014a56de050a8c36f1c4ae38a84891a09d17469f (patch) | |
tree | aa5c2a1e3d9b03470015067984dc9d07bab394a2 /src/vm/dllimport.cpp | |
parent | aa0d4daf1491562a6c7e6ef18f719938a0e6e4bd (diff) | |
download | coreclr-014a56de050a8c36f1c4ae38a84891a09d17469f.tar.gz coreclr-014a56de050a8c36f1c4ae38a84891a09d17469f.tar.bz2 coreclr-014a56de050a8c36f1c4ae38a84891a09d17469f.zip |
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 #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.
Diffstat (limited to 'src/vm/dllimport.cpp')
-rw-r--r-- | src/vm/dllimport.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp index 0b20aaeebb..6fd4366624 100644 --- a/src/vm/dllimport.cpp +++ b/src/vm/dllimport.cpp @@ -599,7 +599,7 @@ public: #ifndef _TARGET_X86_ // we store the real managed argument stack size in the stub MethodDesc on non-X86 - UINT stackSize = pStubMD->SizeOfArgStack(); + UINT stackSize = pStubMD->SizeOfNativeArgStack(); if (!FitsInU2(stackSize)) COMPlusThrow(kMarshalDirectiveException, IDS_EE_SIGTOOCOMPLEX); |