Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Botsch Nielsen <Jakob.botsch.nielsen@gmail.com>2021-05-21 13:24:28 +0300
committerGitHub <noreply@github.com>2021-05-21 13:24:28 +0300
commitdd6ff04525f2e5dae46ff7ed8c0af7948eed2250 (patch)
tree49611a627be6d445197727c78bf6009d85147efc /src/coreclr/ToolBox
parentf96ce3a4720a70526dc61bea43ff678e1d4e0bb2 (diff)
Implement 64-bit type handle histogram counts (#52898)
Diffstat (limited to 'src/coreclr/ToolBox')
-rw-r--r--src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp b/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
index 60eb84d9314..dbfacdaa588 100644
--- a/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
+++ b/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
@@ -5608,9 +5608,12 @@ void MethodContext::dmpGetPgoInstrumentationResults(DWORDLONG key, const Agnosti
case ICorJitInfo::PgoInstrumentationKind::EdgeLongCount:
printf("E %llu", *(uint64_t*)(pInstrumentationData + pBuf[i].Offset));
break;
- case ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramCount:
+ case ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramIntCount:
printf("T %u", *(unsigned*)(pInstrumentationData + pBuf[i].Offset));
break;
+ case ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramLongCount:
+ printf("T %llu", *(uint64_t*)(pInstrumentationData + pBuf[i].Offset));
+ break;
case ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramTypeHandle:
for (unsigned int j = 0; j < pBuf[i].Count; j++)
{
@@ -6927,7 +6930,8 @@ bool MethodContext::hasPgoData(bool& hasEdgeProfile, bool& hasClassProfile, bool
{
hasEdgeProfile |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::EdgeIntCount);
hasEdgeProfile |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::EdgeLongCount);
- hasClassProfile |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramCount);
+ hasClassProfile |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramIntCount);
+ hasClassProfile |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::TypeHandleHistogramLongCount);
hasLikelyClass |= (schema[i].InstrumentationKind == ICorJitInfo::PgoInstrumentationKind::GetLikelyClass);
if (hasEdgeProfile && hasClassProfile && hasLikelyClass)