Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.
Prev Previous commit
Next Next commit
Use .def file for the new Crst
  • Loading branch information
janvorli committed Nov 29, 2018
commit f3dd914263402c67f9b5f28abda9f40eebfbaf92
3 changes: 3 additions & 0 deletions src/inc/CrstTypes.def
Original file line number Diff line number Diff line change
Expand Up @@ -703,3 +703,6 @@ End
Crst TieredCompilation
AcquiredBefore ThreadpoolTimerQueue
End

Crst COMCallWrapper
End
267 changes: 135 additions & 132 deletions src/inc/crsttypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,138 +35,139 @@ enum CrstType
CrstCLRPrivBinderMaps = 16,
CrstCLRPrivBinderMapsAdd = 17,
CrstCodeFragmentHeap = 18,
CrstCOMWrapperCache = 19,
CrstConnectionNameTable = 20,
CrstContexts = 21,
CrstCoreCLRBinderLog = 22,
CrstCrstCLRPrivBinderLocalWinMDPath = 23,
CrstCSPCache = 24,
CrstDataTest1 = 25,
CrstDataTest2 = 26,
CrstDbgTransport = 27,
CrstDeadlockDetection = 28,
CrstDebuggerController = 29,
CrstDebuggerFavorLock = 30,
CrstDebuggerHeapExecMemLock = 31,
CrstDebuggerHeapLock = 32,
CrstDebuggerJitInfo = 33,
CrstDebuggerMutex = 34,
CrstDelegateToFPtrHash = 35,
CrstDomainLocalBlock = 36,
CrstDynamicIL = 37,
CrstDynamicMT = 38,
CrstDynLinkZapItems = 39,
CrstEtwTypeLogHash = 40,
CrstEventPipe = 41,
CrstEventStore = 42,
CrstException = 43,
CrstExecuteManLock = 44,
CrstExecuteManRangeLock = 45,
CrstFCall = 46,
CrstFriendAccessCache = 47,
CrstFuncPtrStubs = 48,
CrstFusionAppCtx = 49,
CrstGCCover = 50,
CrstGCMemoryPressure = 51,
CrstGlobalStrLiteralMap = 52,
CrstHandleTable = 53,
CrstHostAssemblyMap = 54,
CrstHostAssemblyMapAdd = 55,
CrstIbcProfile = 56,
CrstIJWFixupData = 57,
CrstIJWHash = 58,
CrstILStubGen = 59,
CrstInlineTrackingMap = 60,
CrstInstMethodHashTable = 61,
CrstInterfaceVTableMap = 62,
CrstInterop = 63,
CrstInteropData = 64,
CrstIOThreadpoolWorker = 65,
CrstIsJMCMethod = 66,
CrstISymUnmanagedReader = 67,
CrstJit = 68,
CrstJitGenericHandleCache = 69,
CrstJitPerf = 70,
CrstJumpStubCache = 71,
CrstLeafLock = 72,
CrstListLock = 73,
CrstLoaderAllocator = 74,
CrstLoaderAllocatorReferences = 75,
CrstLoaderHeap = 76,
CrstMda = 77,
CrstMetadataTracker = 78,
CrstModIntPairList = 79,
CrstModule = 80,
CrstModuleFixup = 81,
CrstModuleLookupTable = 82,
CrstMulticoreJitHash = 83,
CrstMulticoreJitManager = 84,
CrstMUThunkHash = 85,
CrstNativeBinderInit = 86,
CrstNativeImageCache = 87,
CrstNls = 88,
CrstNotifyGdb = 89,
CrstObjectList = 90,
CrstOnEventManager = 91,
CrstPatchEntryPoint = 92,
CrstPEImage = 93,
CrstPEImagePDBStream = 94,
CrstPendingTypeLoadEntry = 95,
CrstPinHandle = 96,
CrstPinnedByrefValidation = 97,
CrstProfilerGCRefDataFreeList = 98,
CrstProfilingAPIStatus = 99,
CrstPublisherCertificate = 100,
CrstRCWCache = 101,
CrstRCWCleanupList = 102,
CrstRCWRefCache = 103,
CrstReadyToRunEntryPointToMethodDescMap = 104,
CrstReDacl = 105,
CrstReflection = 106,
CrstReJITDomainTable = 107,
CrstReJITGlobalRequest = 108,
CrstRemoting = 109,
CrstRetThunkCache = 110,
CrstRWLock = 111,
CrstSavedExceptionInfo = 112,
CrstSaveModuleProfileData = 113,
CrstSecurityStackwalkCache = 114,
CrstSharedAssemblyCreate = 115,
CrstSigConvert = 116,
CrstSingleUseLock = 117,
CrstSpecialStatics = 118,
CrstSqmManager = 119,
CrstStackSampler = 120,
CrstStressLog = 121,
CrstStrongName = 122,
CrstStubCache = 123,
CrstStubDispatchCache = 124,
CrstStubUnwindInfoHeapSegments = 125,
CrstSyncBlockCache = 126,
CrstSyncHashLock = 127,
CrstSystemBaseDomain = 128,
CrstSystemDomain = 129,
CrstSystemDomainDelayedUnloadList = 130,
CrstThreadIdDispenser = 131,
CrstThreadpoolEventCache = 132,
CrstThreadpoolTimerQueue = 133,
CrstThreadpoolWaitThreads = 134,
CrstThreadpoolWorker = 135,
CrstThreadStaticDataHashTable = 136,
CrstThreadStore = 137,
CrstTieredCompilation = 138,
CrstTPMethodTable = 139,
CrstTypeEquivalenceMap = 140,
CrstTypeIDMap = 141,
CrstUMEntryThunkCache = 142,
CrstUMThunkHash = 143,
CrstUniqueStack = 144,
CrstUnresolvedClassLock = 145,
CrstUnwindInfoTableLock = 146,
CrstVSDIndirectionCellLock = 147,
CrstWinRTFactoryCache = 148,
CrstWrapperTemplate = 149,
kNumberOfCrstTypes = 150
CrstCOMCallWrapper = 19,
CrstCOMWrapperCache = 20,
CrstConnectionNameTable = 21,
CrstContexts = 22,
CrstCoreCLRBinderLog = 23,
CrstCrstCLRPrivBinderLocalWinMDPath = 24,
CrstCSPCache = 25,
CrstDataTest1 = 26,
CrstDataTest2 = 27,
CrstDbgTransport = 28,
CrstDeadlockDetection = 29,
CrstDebuggerController = 30,
CrstDebuggerFavorLock = 31,
CrstDebuggerHeapExecMemLock = 32,
CrstDebuggerHeapLock = 33,
CrstDebuggerJitInfo = 34,
CrstDebuggerMutex = 35,
CrstDelegateToFPtrHash = 36,
CrstDomainLocalBlock = 37,
CrstDynamicIL = 38,
CrstDynamicMT = 39,
CrstDynLinkZapItems = 40,
CrstEtwTypeLogHash = 41,
CrstEventPipe = 42,
CrstEventStore = 43,
CrstException = 44,
CrstExecuteManLock = 45,
CrstExecuteManRangeLock = 46,
CrstFCall = 47,
CrstFriendAccessCache = 48,
CrstFuncPtrStubs = 49,
CrstFusionAppCtx = 50,
CrstGCCover = 51,
CrstGCMemoryPressure = 52,
CrstGlobalStrLiteralMap = 53,
CrstHandleTable = 54,
CrstHostAssemblyMap = 55,
CrstHostAssemblyMapAdd = 56,
CrstIbcProfile = 57,
CrstIJWFixupData = 58,
CrstIJWHash = 59,
CrstILStubGen = 60,
CrstInlineTrackingMap = 61,
CrstInstMethodHashTable = 62,
CrstInterfaceVTableMap = 63,
CrstInterop = 64,
CrstInteropData = 65,
CrstIOThreadpoolWorker = 66,
CrstIsJMCMethod = 67,
CrstISymUnmanagedReader = 68,
CrstJit = 69,
CrstJitGenericHandleCache = 70,
CrstJitPerf = 71,
CrstJumpStubCache = 72,
CrstLeafLock = 73,
CrstListLock = 74,
CrstLoaderAllocator = 75,
CrstLoaderAllocatorReferences = 76,
CrstLoaderHeap = 77,
CrstMda = 78,
CrstMetadataTracker = 79,
CrstModIntPairList = 80,
CrstModule = 81,
CrstModuleFixup = 82,
CrstModuleLookupTable = 83,
CrstMulticoreJitHash = 84,
CrstMulticoreJitManager = 85,
CrstMUThunkHash = 86,
CrstNativeBinderInit = 87,
CrstNativeImageCache = 88,
CrstNls = 89,
CrstNotifyGdb = 90,
CrstObjectList = 91,
CrstOnEventManager = 92,
CrstPatchEntryPoint = 93,
CrstPEImage = 94,
CrstPEImagePDBStream = 95,
CrstPendingTypeLoadEntry = 96,
CrstPinHandle = 97,
CrstPinnedByrefValidation = 98,
CrstProfilerGCRefDataFreeList = 99,
CrstProfilingAPIStatus = 100,
CrstPublisherCertificate = 101,
CrstRCWCache = 102,
CrstRCWCleanupList = 103,
CrstRCWRefCache = 104,
CrstReadyToRunEntryPointToMethodDescMap = 105,
CrstReDacl = 106,
CrstReflection = 107,
CrstReJITDomainTable = 108,
CrstReJITGlobalRequest = 109,
CrstRemoting = 110,
CrstRetThunkCache = 111,
CrstRWLock = 112,
CrstSavedExceptionInfo = 113,
CrstSaveModuleProfileData = 114,
CrstSecurityStackwalkCache = 115,
CrstSharedAssemblyCreate = 116,
CrstSigConvert = 117,
CrstSingleUseLock = 118,
CrstSpecialStatics = 119,
CrstSqmManager = 120,
CrstStackSampler = 121,
CrstStressLog = 122,
CrstStrongName = 123,
CrstStubCache = 124,
CrstStubDispatchCache = 125,
CrstStubUnwindInfoHeapSegments = 126,
CrstSyncBlockCache = 127,
CrstSyncHashLock = 128,
CrstSystemBaseDomain = 129,
CrstSystemDomain = 130,
CrstSystemDomainDelayedUnloadList = 131,
CrstThreadIdDispenser = 132,
CrstThreadpoolEventCache = 133,
CrstThreadpoolTimerQueue = 134,
CrstThreadpoolWaitThreads = 135,
CrstThreadpoolWorker = 136,
CrstThreadStaticDataHashTable = 137,
CrstThreadStore = 138,
CrstTieredCompilation = 139,
CrstTPMethodTable = 140,
CrstTypeEquivalenceMap = 141,
CrstTypeIDMap = 142,
CrstUMEntryThunkCache = 143,
CrstUMThunkHash = 144,
CrstUniqueStack = 145,
CrstUnresolvedClassLock = 146,
CrstUnwindInfoTableLock = 147,
CrstVSDIndirectionCellLock = 148,
CrstWinRTFactoryCache = 149,
CrstWrapperTemplate = 150,
kNumberOfCrstTypes = 151
};

#endif // __CRST_TYPES_INCLUDED
Expand Down Expand Up @@ -196,6 +197,7 @@ int g_rgCrstLevelMap[] =
0, // CrstCLRPrivBinderMaps
3, // CrstCLRPrivBinderMapsAdd
6, // CrstCodeFragmentHeap
0, // CrstCOMCallWrapper
4, // CrstCOMWrapperCache
0, // CrstConnectionNameTable
15, // CrstContexts
Expand Down Expand Up @@ -351,6 +353,7 @@ LPCSTR g_rgCrstNameMap[] =
"CrstCLRPrivBinderMaps",
"CrstCLRPrivBinderMapsAdd",
"CrstCodeFragmentHeap",
"CrstCOMCallWrapper",
"CrstCOMWrapperCache",
"CrstConnectionNameTable",
"CrstContexts",
Expand Down
2 changes: 1 addition & 1 deletion src/vm/loaderallocator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1072,7 +1072,7 @@ void LoaderAllocator::Init(BaseDomain *pDomain, BYTE *pExecutableHeapMemory)
m_crstLoaderAllocator.Init(CrstLoaderAllocator, (CrstFlags)CRST_UNSAFE_COOPGC);
#ifdef FEATURE_COMINTEROP
m_InteropDataCrst.Init(CrstInteropData, CRST_REENTRANCY);
m_ComCallWrapperCrst.Init(CrstComCallWrapper);
m_ComCallWrapperCrst.Init(CrstCOMCallWrapper);
#endif

//
Expand Down