summaryrefslogtreecommitdiff
path: root/src/vm/frames.cpp
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-10-02 14:55:07 +0200
committerJan Vorlicek <janvorli@microsoft.com>2015-10-03 20:19:25 +0200
commita723811c171a3dae340a08f24afedbfc238b7930 (patch)
treed5c46a00657ba1e5641b9fb919bf71db4835fe73 /src/vm/frames.cpp
parent125fd8145cd2b57e6ad362910583c10b7f8a493d (diff)
downloadcoreclr-a723811c171a3dae340a08f24afedbfc238b7930.tar.gz
coreclr-a723811c171a3dae340a08f24afedbfc238b7930.tar.bz2
coreclr-a723811c171a3dae340a08f24afedbfc238b7930.zip
Implement refactored Unix managed exception handling
This change refactors managed exception handling so that we perform full first pass over both managed and native frames and only after we find target frame, we perform the second pass. This helps in debugging of unhandled managed exceptions since the debugger can kick in at the end of the first pass when the stack frames are still intact and it can show the context where the exception was fired.
Diffstat (limited to 'src/vm/frames.cpp')
-rw-r--r--src/vm/frames.cpp13
1 files changed, 0 insertions, 13 deletions
diff --git a/src/vm/frames.cpp b/src/vm/frames.cpp
index 1e3e9e050d..0037ed19e7 100644
--- a/src/vm/frames.cpp
+++ b/src/vm/frames.cpp
@@ -479,19 +479,6 @@ VOID Frame::Pop(Thread *pThread)
pThread->SetFrame(m_Next);
}
-#ifdef FEATURE_PAL
-Frame::~Frame()
-{
- // When the frame is destroyed, make sure it is no longer in the
- // frame chain managed by the Thread.
- Thread* pThread = GetThread();
- if (pThread != NULL && pThread->GetFrame() == this)
- {
- Pop(pThread);
- }
-}
-#endif // FEATURE_PAL
-
//-----------------------------------------------------------------------
#endif // #ifndef DACCESS_COMPILE
//---------------------------------------------------------------