summaryrefslogtreecommitdiff
path: root/src/vm/dllimport.cpp
diff options
context:
space:
mode:
authorJeremy Koritzinsky <jkoritzinsky@gmail.com>2018-11-10 16:07:33 -0800
committerGitHub <noreply@github.com>2018-11-10 16:07:33 -0800
commit463ba889b0c010eb9c6f9807eaf0ab4ab5624450 (patch)
treedbddeb8d3539468ce4af86c9a408f91c41764e67 /src/vm/dllimport.cpp
parent845fc293bef24024f779e05ebc33971bea2728d3 (diff)
downloadcoreclr-463ba889b0c010eb9c6f9807eaf0ab4ab5624450.tar.gz
coreclr-463ba889b0c010eb9c6f9807eaf0ab4ab5624450.tar.bz2
coreclr-463ba889b0c010eb9c6f9807eaf0ab4ab5624450.zip
Keep delegate fields alive across a full native call (#20896)
* Repurpose CleanupWorkList to also preserve delegate references in structs across the full native call. * Change CleanupWorkListElement to abstract base class instead of interface. * Make CleanupWorkList a singlely linked list. * PR Feedback. * Remove CleanupWorkList and make CleanupWorkListElement be able to represent the full list. * Add back throw in SafeHandle field marshalling. * PR feedback.
Diffstat (limited to 'src/vm/dllimport.cpp')
-rw-r--r--src/vm/dllimport.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/dllimport.cpp b/src/vm/dllimport.cpp
index 6fd4366624..acb356a42b 100644
--- a/src/vm/dllimport.cpp
+++ b/src/vm/dllimport.cpp
@@ -2167,7 +2167,7 @@ void NDirectStubLinker::NeedsCleanupList()
SetCleanupNeeded();
// we setup a new local that will hold the cleanup work list
- LocalDesc desc(MscorlibBinder::GetClass(CLASS__CLEANUP_WORK_LIST));
+ LocalDesc desc(MscorlibBinder::GetClass(CLASS__CLEANUP_WORK_LIST_ELEMENT));
m_dwCleanupWorkListLocalNum = NewLocal(desc);
}
}