diff options
author | Jonghyun Park <parjong@gmail.com> | 2017-01-26 23:13:23 +0900 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2017-01-26 15:13:23 +0100 |
commit | 6849320915a0ed7a4f9ddc9553950f21da8d6fb9 (patch) | |
tree | 335f5c476ebe8c56906a8e6bc7cfa7437f861260 /src/vm/eetwain.cpp | |
parent | d24162bd144b37b2b353797db846aab80bf13db1 (diff) | |
download | coreclr-6849320915a0ed7a4f9ddc9553950f21da8d6fb9.tar.gz coreclr-6849320915a0ed7a4f9ddc9553950f21da8d6fb9.tar.bz2 coreclr-6849320915a0ed7a4f9ddc9553950f21da8d6fb9.zip |
Extract GetStackParameterSize from ESPIncrOnReturn (#9135)
Diffstat (limited to 'src/vm/eetwain.cpp')
-rw-r--r-- | src/vm/eetwain.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/vm/eetwain.cpp b/src/vm/eetwain.cpp index 8bbe213ef8..37b1c86d2b 100644 --- a/src/vm/eetwain.cpp +++ b/src/vm/eetwain.cpp @@ -3434,6 +3434,12 @@ void UnwindEbpDoubleAlignFrameEpilog( pContext->SP = ESP; } +inline SIZE_T GetStackParameterSize(hdrInfo * info) +{ + SUPPORTS_DAC; + return (info->varargs ? 0 : info->argSize); // Note varargs is caller-popped +} + //**************************************************************************** // This is the value ESP is incremented by on doing a "return" @@ -3441,8 +3447,7 @@ inline SIZE_T ESPIncrOnReturn(hdrInfo * info) { SUPPORTS_DAC; return sizeof(void *) + // pop off the return address - // Note varargs is caller-popped - (info->varargs ? 0 : info->argSize); + GetStackParameterSize(info); } /*****************************************************************************/ @@ -5921,7 +5926,7 @@ ULONG32 EECodeManager::GetStackParameterSize(EECodeInfo * pCodeInfo) // We need to subtract 4 here because ESPIncrOnReturn() includes the stack slot containing the return // address. - return (ULONG32)(ESPIncrOnReturn(pHdrInfo) - 4); + return (ULONG32)::GetStackParameterSize(pHdrInfo); #else return 0; |