diff options
author | Aditya Mandaleeka <adityam@microsoft.com> | 2017-04-11 18:28:03 -0700 |
---|---|---|
committer | Aditya Mandaleeka <adityam@microsoft.com> | 2017-04-11 18:30:16 -0700 |
commit | 3e6334b8797731bc24a2b9c69a7b7073a92b66a9 (patch) | |
tree | 528d18edc054dc85b45f0604d83984a62b3fc4a3 /src/vm/exstate.cpp | |
parent | bf7cf40e14b8cf35c68be089735dd16081db9dc4 (diff) | |
download | coreclr-3e6334b8797731bc24a2b9c69a7b7073a92b66a9.tar.gz coreclr-3e6334b8797731bc24a2b9c69a7b7073a92b66a9.tar.bz2 coreclr-3e6334b8797731bc24a2b9c69a7b7073a92b66a9.zip |
Hide knowledge of handle table buckets and home heaps from VM side.
Diffstat (limited to 'src/vm/exstate.cpp')
-rw-r--r-- | src/vm/exstate.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/vm/exstate.cpp b/src/vm/exstate.cpp index 29c7a063f5..6cca98f4cd 100644 --- a/src/vm/exstate.cpp +++ b/src/vm/exstate.cpp @@ -102,7 +102,7 @@ void ThreadExceptionState::FreeAllStackTraces() } } -void ThreadExceptionState::ClearThrowablesForUnload(HandleTableBucket* pHndTblBucket) +void ThreadExceptionState::ClearThrowablesForUnload(void* handleTable) { WRAPPER_NO_CONTRACT; @@ -112,11 +112,13 @@ void ThreadExceptionState::ClearThrowablesForUnload(HandleTableBucket* pHndTblBu ExInfo* pNode = &m_currentExInfo; #endif // WIN64EXCEPTIONS + IGCHandleTable *pHandleTable = GCHandleTableUtilities::GetGCHandleTable(); + for ( ; pNode != NULL; pNode = pNode->m_pPrevNestedInfo) { - if (pHndTblBucket->Contains(pNode->m_hThrowable)) + if (pHandleTable->ContainsHandle(handleTable, pNode->m_hThrowable)) { pNode->DestroyExceptionHandle(); } |