diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2015-04-23 17:23:07 -0700 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2015-04-23 17:23:07 -0700 |
commit | c0c39e5ac9d7055131ee5db0c6313760197c8f4f (patch) | |
tree | b66d0c0f250c2dffeee869e00861db5611f53a29 /src/vm/exceptionhandling.h | |
parent | 640d40ab36d025fe5caf82830ad8128c9aa974ea (diff) | |
download | coreclr-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.h | 1 |
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 |