summaryrefslogtreecommitdiff
path: root/src/inc
diff options
context:
space:
mode:
authorJonghyun Park <parjong@gmail.com>2017-02-08 18:29:23 +0900
committerJan Vorlicek <janvorli@microsoft.com>2017-02-08 10:29:23 +0100
commit0dc81ab6810e43253411ae76a780c8291650da0f (patch)
treecd833354bbd7e42d6aacf48b859126393d305ab3 /src/inc
parent272cc4e755e6ef4570d70b815a03c15c7a9ccc1b (diff)
downloadcoreclr-0dc81ab6810e43253411ae76a780c8291650da0f.tar.gz
coreclr-0dc81ab6810e43253411ae76a780c8291650da0f.tar.bz2
coreclr-0dc81ab6810e43253411ae76a780c8291650da0f.zip
[x86/Linux] Use SP as StackMarker (#9389)
Diffstat (limited to 'src/inc')
-rw-r--r--src/inc/regdisp.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/inc/regdisp.h b/src/inc/regdisp.h
index 390711f36f..cae06098ff 100644
--- a/src/inc/regdisp.h
+++ b/src/inc/regdisp.h
@@ -135,12 +135,21 @@ inline PCODE GetControlPC(REGDISPLAY *display) {
inline BOOL IsInCalleesFrames(REGDISPLAY *display, LPVOID stackPointer) {
LIMITED_METHOD_CONTRACT;
+#ifdef WIN64EXCEPTIONS
+ return stackPointer < ((LPVOID)(display->SP));
+#else
return (TADDR)stackPointer < display->PCTAddr;
+#endif
}
inline TADDR GetRegdisplayStackMark(REGDISPLAY *display) {
LIMITED_METHOD_DAC_CONTRACT;
+#ifdef WIN64EXCEPTIONS
+ _ASSERTE(GetRegdisplaySP(display) == GetSP(display->pCurrentContext));
+ return GetRegdisplaySP(display);
+#else
return display->PCTAddr;
+#endif
}
#elif defined(_WIN64)