From 014a56de050a8c36f1c4ae38a84891a09d17469f Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Tue, 30 Oct 2018 16:30:16 -0700 Subject: 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. --- src/vm/method.hpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/vm/method.hpp') 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(); -- cgit v1.2.3