Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GCCoverageInfo support 32-bit Tiered compilation #37116

Merged
merged 2 commits into from
May 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/coreclr/src/inc/CrstTypes.def
Original file line number Diff line number Diff line change
Expand Up @@ -493,6 +493,7 @@ End
Crst CodeVersioning
AcquiredBefore LoaderHeap SingleUseLock DeadlockDetection JumpStubCache DebuggerController FuncPtrStubs
AcquiredAfter ReJITGlobalRequest ThreadStore GlobalStrLiteralMap SystemDomain DebuggerMutex MethodDescBackpatchInfoTracker
ReadyToRunEntryPointToMethodDescMap ClassInit AppDomainCache TypeIDMap FusionAppCtx
End

// Used to synchronize all global requests (which may span multiple AppDomains) which add
Expand Down
30 changes: 15 additions & 15 deletions src/coreclr/src/inc/crsttypes.h
Original file line number Diff line number Diff line change
Expand Up @@ -181,8 +181,8 @@ enum CrstType
// An array mapping CrstType to level.
int g_rgCrstLevelMap[] =
{
9, // CrstAllowedFiles
9, // CrstAppDomainCache
8, // CrstAllowedFiles
10, // CrstAppDomainCache
14, // CrstAppDomainHandleTable
0, // CrstArgBasedStubCache
0, // CrstAssemblyDependencyGraph
Expand All @@ -193,14 +193,14 @@ int g_rgCrstLevelMap[] =
4, // CrstAvailableParamTypes
7, // CrstBaseDomain
-1, // CrstCCompRC
9, // CrstCer
8, // CrstCer
13, // CrstClassFactInfoHash
8, // CrstClassInit
11, // CrstClassInit
-1, // CrstClrNotification
0, // CrstCLRPrivBinderMaps
3, // CrstCLRPrivBinderMapsAdd
6, // CrstCodeFragmentHeap
10, // CrstCodeVersioning
9, // CrstCodeVersioning
0, // CrstCOMCallWrapper
4, // CrstCOMWrapperCache
0, // CrstConnectionNameTable
Expand All @@ -216,7 +216,7 @@ int g_rgCrstLevelMap[] =
0, // CrstDebuggerHeapExecMemLock
0, // CrstDebuggerHeapLock
4, // CrstDebuggerJitInfo
11, // CrstDebuggerMutex
10, // CrstDebuggerMutex
0, // CrstDelegateToFPtrHash
16, // CrstDomainLocalBlock
0, // CrstDynamicIL
Expand All @@ -232,14 +232,14 @@ int g_rgCrstLevelMap[] =
3, // CrstFCall
7, // CrstFriendAccessCache
7, // CrstFuncPtrStubs
5, // CrstFusionAppCtx
11, // CrstGCCover
10, // CrstFusionAppCtx
10, // CrstGCCover
13, // CrstGlobalStrLiteralMap
1, // CrstHandleTable
0, // CrstHostAssemblyMap
3, // CrstHostAssemblyMapAdd
0, // CrstIbcProfile
9, // CrstIJWFixupData
8, // CrstIJWFixupData
0, // CrstIJWHash
7, // CrstILStubGen
3, // CrstInlineTrackingMap
Expand All @@ -250,7 +250,7 @@ int g_rgCrstLevelMap[] =
13, // CrstIOThreadpoolWorker
0, // CrstIsJMCMethod
7, // CrstISymUnmanagedReader
8, // CrstJit
11, // CrstJit
0, // CrstJitGenericHandleCache
16, // CrstJitInlineTrackingMap
3, // CrstJitPatchpoint
Expand Down Expand Up @@ -290,9 +290,9 @@ int g_rgCrstLevelMap[] =
3, // CrstRCWCache
0, // CrstRCWCleanupList
3, // CrstRCWRefCache
4, // CrstReadyToRunEntryPointToMethodDescMap
10, // CrstReadyToRunEntryPointToMethodDescMap
0, // CrstReDacl
9, // CrstReflection
8, // CrstReflection
17, // CrstReJITGlobalRequest
20, // CrstRemoting
3, // CrstRetThunkCache
Expand Down Expand Up @@ -323,10 +323,10 @@ int g_rgCrstLevelMap[] =
13, // CrstThreadpoolWorker
4, // CrstThreadStaticDataHashTable
12, // CrstThreadStore
9, // CrstTieredCompilation
9, // CrstTPMethodTable
8, // CrstTieredCompilation
8, // CrstTPMethodTable
3, // CrstTypeEquivalenceMap
7, // CrstTypeIDMap
10, // CrstTypeIDMap
3, // CrstUMEntryThunkCache
0, // CrstUMThunkHash
3, // CrstUniqueStack
Expand Down
10 changes: 6 additions & 4 deletions src/coreclr/src/vm/jitinterface.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -14217,15 +14217,17 @@ TADDR EECodeInfo::GetSavedMethodCode()
} CONTRACTL_END;
#ifndef HOST_64BIT
#if defined(HAVE_GCCOVER)
_ASSERTE (!m_pMD->m_GcCover || GCStress<cfg_instr>::IsEnabled());

PTR_GCCoverageInfo gcCover = GetNativeCodeVersion().GetGCCoverageInfo();
_ASSERTE (!gcCover || GCStress<cfg_instr>::IsEnabled());
if (GCStress<cfg_instr>::IsEnabled()
&& m_pMD->m_GcCover)
&& gcCover)
{
_ASSERTE(m_pMD->m_GcCover->savedCode);
_ASSERTE(gcCover->savedCode);

// Make sure we return the TADDR of savedCode here. The byte array is not marshaled automatically.
// The caller is responsible for any necessary marshaling.
return PTR_TO_MEMBER_TADDR(GCCoverageInfo, m_pMD->m_GcCover, savedCode);
return PTR_TO_MEMBER_TADDR(GCCoverageInfo, gcCover, savedCode);
}
#endif //defined(HAVE_GCCOVER)
#endif
Expand Down