summaryrefslogtreecommitdiff
path: root/src/vm/exceptionhandling.h
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2015-04-23 17:23:07 -0700
committerJan Vorlicek <janvorli@microsoft.com>2015-04-23 17:23:07 -0700
commitc0c39e5ac9d7055131ee5db0c6313760197c8f4f (patch)
treeb66d0c0f250c2dffeee869e00861db5611f53a29 /src/vm/exceptionhandling.h
parent640d40ab36d025fe5caf82830ad8128c9aa974ea (diff)
downloadcoreclr-c0c39e5ac9d7055131ee5db0c6313760197c8f4f.tar.gz
coreclr-c0c39e5ac9d7055131ee5db0c6313760197c8f4f.tar.bz2
coreclr-c0c39e5ac9d7055131ee5db0c6313760197c8f4f.zip
Fix GC stack unwinding issue
This change fixes a GC stack unwinding issue when a GC is triggered in a catch handler that caught a rethrown exception. The problem was that we need to propagate the m_fFixupCallerSPForGCReporting to the new exception tracker created when interleaved exception handling starts processing a block of managed frames after processing another block of managed frames followed by a block of native frames. Without this flag, the m_EnclosingClauseInfoForGCReporting's caller SP is not updated when the target unwind frame is found and such an update is needed.
Diffstat (limited to 'src/vm/exceptionhandling.h')
-rw-r--r--src/vm/exceptionhandling.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/vm/exceptionhandling.h b/src/vm/exceptionhandling.h
index 820f0d3c5f..c8581e3b95 100644
--- a/src/vm/exceptionhandling.h
+++ b/src/vm/exceptionhandling.h
@@ -677,6 +677,7 @@ private: ;
EHClauseInfo m_EHClauseInfo;
EnclosingClauseInfo m_EnclosingClauseInfo;
EnclosingClauseInfo m_EnclosingClauseInfoForGCReporting;
+ bool m_fFixupCallerSPForGCReporting;
public:
// Save the state of the source exception tracker