summaryrefslogtreecommitdiff
path: root/src/vm/appdomain.hpp
diff options
context:
space:
mode:
authorJan Vorlicek <janvorli@microsoft.com>2018-11-28 06:36:59 +0100
committerJan Kotas <jkotas@microsoft.com>2018-11-27 21:36:59 -0800
commit8aa0869eb9153429091fdba49469d89ec33092cb (patch)
tree8d9caeb728ba245c9e311cd411e59aab9a21d30f /src/vm/appdomain.hpp
parentc7c166e33c807d938367d0364850fe7af1c7b835 (diff)
downloadcoreclr-8aa0869eb9153429091fdba49469d89ec33092cb.tar.gz
coreclr-8aa0869eb9153429091fdba49469d89ec33092cb.tar.bz2
coreclr-8aa0869eb9153429091fdba49469d89ec33092cb.zip
Fix ILStubCache allocation for collectible assemblies (#21188)
The ILStubCache was being allocated per domain unless the domain was a compilation AppDomain. This is wrong for collectible assemblies, since after an assembly is collected, the cache keeps stale entries referring to already deleted MethodTables. The fix is to make ILStubChange per LoaderAllocator instead (and keep the per module instances for compilation AppDomain).
Diffstat (limited to 'src/vm/appdomain.hpp')
-rw-r--r--src/vm/appdomain.hpp16
1 files changed, 0 insertions, 16 deletions
diff --git a/src/vm/appdomain.hpp b/src/vm/appdomain.hpp
index fd28316c40..5bc7ba6167 100644
--- a/src/vm/appdomain.hpp
+++ b/src/vm/appdomain.hpp
@@ -25,7 +25,6 @@
#include "domainfile.h"
#include "objectlist.h"
#include "fptrstubs.h"
-#include "ilstubcache.h"
#include "testhookmgr.h"
#include "gcheaputilities.h"
#include "gchandleutilities.h"
@@ -3339,10 +3338,6 @@ private:
DWORD m_TrackSpinLock;
#endif
-
- // IL stub cache with fabricated MethodTable parented by a random module in this AD.
- ILStubCache m_ILStubCache;
-
// The number of times we have entered this AD
ULONG m_dwThreadEnterCount;
// The number of threads that have entered this AD, for ADU only
@@ -3420,17 +3415,6 @@ public:
BOOL IsBindingModelLocked();
BOOL LockBindingModel();
- ILStubCache* GetILStubCache()
- {
- LIMITED_METHOD_CONTRACT;
- return &m_ILStubCache;
- }
-
- static AppDomain* GetDomain(ILStubCache* pILStubCache)
- {
- return CONTAINING_RECORD(pILStubCache, AppDomain, m_ILStubCache);
- }
-
enum {
CONTEXT_INITIALIZED = 0x0001,
USER_CREATED_DOMAIN = 0x0002, // created by call to AppDomain.CreateDomain