diff options
author | Rahul Kumar <rahku@microsoft.com> | 2016-08-08 15:06:30 -0700 |
---|---|---|
committer | Rahul Kumar <rahku@microsoft.com> | 2016-08-08 15:06:30 -0700 |
commit | 86057250324ea3585383c39392a95471132112a0 (patch) | |
tree | 4236adf4ee4859720c78cbf9ac9665f9888822b4 /src/vm/stackwalk.cpp | |
parent | deb00ad58acf627763b6c0a7833fa789e3bb1cd0 (diff) | |
download | coreclr-86057250324ea3585383c39392a95471132112a0.tar.gz coreclr-86057250324ea3585383c39392a95471132112a0.tar.bz2 coreclr-86057250324ea3585383c39392a95471132112a0.zip |
Port CS#1596330 from netfxdev1 (bug#119959)
Diffstat (limited to 'src/vm/stackwalk.cpp')
-rw-r--r-- | src/vm/stackwalk.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/vm/stackwalk.cpp b/src/vm/stackwalk.cpp index cb3c76e651..3b0b4720f7 100644 --- a/src/vm/stackwalk.cpp +++ b/src/vm/stackwalk.cpp @@ -2488,6 +2488,12 @@ StackWalkAction StackFrameIterator::NextRaw(void) bool fInsertCacheEntry = m_crawl.stackWalkCache.Enabled() && (m_flags & LIGHTUNWIND) && (m_pCachedGSCookie == NULL); + + // Is this a dynamic method. Dynamic methods can be GC collected and so IP to method mapping + // is not persistent. Therefore do not cache information for this frame. + BOOL isCollectableMethod = ExecutionManager::IsCollectibleMethod(m_crawl.GetMethodToken()); + if(isCollectableMethod) + fInsertCacheEntry = FALSE; StackwalkCacheUnwindInfo unwindInfo; |