summaryrefslogtreecommitdiff
path: root/src/vm/exstate.cpp
diff options
context:
space:
mode:
authorAditya Mandaleeka <adityam@microsoft.com>2017-04-11 18:28:03 -0700
committerAditya Mandaleeka <adityam@microsoft.com>2017-04-11 18:30:16 -0700
commit3e6334b8797731bc24a2b9c69a7b7073a92b66a9 (patch)
tree528d18edc054dc85b45f0604d83984a62b3fc4a3 /src/vm/exstate.cpp
parentbf7cf40e14b8cf35c68be089735dd16081db9dc4 (diff)
downloadcoreclr-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.cpp6
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();
}