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/method.hpp | |
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/method.hpp')
-rw-r--r-- | src/vm/method.hpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vm/method.hpp b/src/vm/method.hpp index 414d2a33f0..0baf2a4934 100644 --- a/src/vm/method.hpp +++ b/src/vm/method.hpp @@ -753,6 +753,10 @@ public: // arguments passed in registers. UINT SizeOfArgStack(); + // Returns the # of bytes of stack used by arguments in a call from native to this function. + // Does not include arguments passed in registers. + UINT SizeOfNativeArgStack(); + // Returns the # of bytes to pop after a call. Not necessary the // same as SizeOfArgStack()! UINT CbStackPop(); |