diff options
Diffstat (limited to 'src/unwinder/i386/unwinder_i386.cpp')
-rw-r--r-- | src/unwinder/i386/unwinder_i386.cpp | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/src/unwinder/i386/unwinder_i386.cpp b/src/unwinder/i386/unwinder_i386.cpp index 55f0766a7f..f221020752 100644 --- a/src/unwinder/i386/unwinder_i386.cpp +++ b/src/unwinder/i386/unwinder_i386.cpp @@ -105,21 +105,7 @@ OOPStackUnwinderX86::VirtualUnwind( ENUM_CALLEE_SAVED_REGISTERS(); #undef CALLEE_SAVED_REGISTER - SIZE_T paramSize = codeInfo.GetCodeManager()->GetStackParameterSize(&codeInfo); - SIZE_T paddingSize = 0; - -#ifdef UNIX_X86_ABI - // On UNIX_X86_ABI, function call may have stack alignment padding. - if (paramSize % 16 != 0) - { - paddingSize += 16 - (paramSize % 16); - } -#endif // UNIX_X86_ABI - - ContextRecord->Esp = rd.SP - paramSize; - ContextRecord->ResumeEsp = ExecutionManager::IsManagedCode((PCODE) rd.ControlPC) - ? rd.SP + paddingSize - : ContextRecord->Esp; + ContextRecord->Esp = rd.SP - codeInfo.GetCodeManager()->GetStackParameterSize(&codeInfo); ContextRecord->Eip = rd.ControlPC; // For x86, the value of Establisher Frame Pointer is Caller SP |