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:
authorBruce Forstall <brucefo@microsoft.com>2021-02-18 22:14:55 +0300
committerGitHub <noreply@github.com>2021-02-18 22:14:55 +0300
commit3bcee54244c3e58d0435d8a09cd149cd9ae9a438 (patch)
tree97b625e532838c77fb91bd2d13c39a784af2ec10 /src/coreclr/ToolBox
parentcef3ef127246855356e49c1e83813d88f8c6a9a0 (diff)
Improve SuperPMI asserts (#48449)
Include `GetIndex` method calls in the assert message, to distinguish the different assert cases in error output. E.g., the asserts change from: ``` 'index != -1' failed ... ``` (which was identical for several cases), to: ``` 'GetClassAttribs->GetIndex(CastHandle(classHandle)) != -1' failed ... ``` This makes it easier to know where the problem is without debugging the failure.
Diffstat (limited to 'src/coreclr/ToolBox')
-rw-r--r--src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp b/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
index acd6c2778c3..175e3a48290 100644
--- a/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
+++ b/src/coreclr/ToolBox/superpmi/superpmi-shared/methodcontext.cpp
@@ -718,9 +718,8 @@ CORINFO_CLASS_HANDLE MethodContext::repGetMethodClass(CORINFO_METHOD_HANDLE meth
{
AssertCodeMsg(GetMethodClass != nullptr, EXCEPTIONCODE_MC,
"Found a null GetMethodClass. Probably missing a fatTrigger for %016llX.", CastHandle(methodHandle));
- int index = GetMethodClass->GetIndex(CastHandle(methodHandle));
- AssertCodeMsg(index != -1, EXCEPTIONCODE_MC, "Didn't find %016llX. Probably missing a fatTrigger",
- CastHandle(methodHandle));
+ AssertCodeMsg(GetMethodClass->GetIndex(CastHandle(methodHandle)) != -1, EXCEPTIONCODE_MC,
+ "Didn't find %016llX. Probably missing a fatTrigger", CastHandle(methodHandle));
CORINFO_CLASS_HANDLE value = (CORINFO_CLASS_HANDLE)GetMethodClass->Get(CastHandle(methodHandle));
DEBUG_REP(dmpGetMethodClass(CastHandle(methodHandle), CastHandle(value)));
return value;
@@ -742,9 +741,8 @@ CORINFO_MODULE_HANDLE MethodContext::repGetMethodModule(CORINFO_METHOD_HANDLE me
{
AssertCodeMsg(GetMethodModule != nullptr, EXCEPTIONCODE_MC,
"Found a null GetMethodModule. Probably missing a fatTrigger for %016llX.", CastHandle(methodHandle));
- int index = GetMethodModule->GetIndex(CastHandle(methodHandle));
- AssertCodeMsg(index != -1, EXCEPTIONCODE_MC, "Didn't find %016llX. Probably missing a fatTrigger",
- CastHandle(methodHandle));
+ AssertCodeMsg(GetMethodModule->GetIndex(CastHandle(methodHandle)) != -1, EXCEPTIONCODE_MC,
+ "Didn't find %016llX. Probably missing a fatTrigger", CastHandle(methodHandle));
CORINFO_MODULE_HANDLE value = (CORINFO_MODULE_HANDLE)GetMethodModule->Get(CastHandle(methodHandle));
DEBUG_REP(dmpGetMethodModule(CastHandle(methodHandle), CastHandle(value)));
return value;
@@ -766,9 +764,8 @@ DWORD MethodContext::repGetClassAttribs(CORINFO_CLASS_HANDLE classHandle)
{
AssertCodeMsg(GetClassAttribs != nullptr, EXCEPTIONCODE_MC,
"Found a null GetClassAttribs. Probably missing a fatTrigger for %016llX.", CastHandle(classHandle));
- int index = GetClassAttribs->GetIndex(CastHandle(classHandle));
- AssertCodeMsg(index != -1, EXCEPTIONCODE_MC, "Didn't find %016llX. Probably missing a fatTrigger",
- CastHandle(classHandle));
+ AssertCodeMsg(GetClassAttribs->GetIndex(CastHandle(classHandle)) != -1, EXCEPTIONCODE_MC,
+ "Didn't find %016llX. Probably missing a fatTrigger", CastHandle(classHandle));
DWORD value = (DWORD)GetClassAttribs->Get(CastHandle(classHandle));
DEBUG_REP(dmpGetClassAttribs(CastHandle(classHandle), value));
return value;
@@ -789,11 +786,9 @@ void MethodContext::dmpGetMethodAttribs(DWORDLONG key, DWORD value)
DWORD MethodContext::repGetMethodAttribs(CORINFO_METHOD_HANDLE methodHandle)
{
AssertCodeMsg(GetMethodAttribs != nullptr, EXCEPTIONCODE_MC,
- "Found a null GetMethodAttribs. Probably missing a fatTrigger for %016llX.",
- CastHandle(methodHandle));
- int index = GetMethodAttribs->GetIndex(CastHandle(methodHandle));
- AssertCodeMsg(index != -1, EXCEPTIONCODE_MC, "Didn't find %016llX. Probably missing a fatTrigger",
- CastHandle(methodHandle));
+ "Found a null GetMethodAttribs. Probably missing a fatTrigger for %016llX.", CastHandle(methodHandle));
+ AssertCodeMsg(GetMethodAttribs->GetIndex(CastHandle(methodHandle)) != -1, EXCEPTIONCODE_MC,
+ "Didn't find %016llX. Probably missing a fatTrigger", CastHandle(methodHandle));
DWORD value = (DWORD)GetMethodAttribs->Get(CastHandle(methodHandle));
DEBUG_REP(dmpGetMethodAttribs(CastHandle(methodHandle), value));
if (cr->repSetMethodAttribs(methodHandle) == CORINFO_FLG_BAD_INLINEE)
@@ -3118,7 +3113,10 @@ void MethodContext::dmpGetDefaultComparerClass(DWORDLONG key, DWORDLONG value)
}
CORINFO_CLASS_HANDLE MethodContext::repGetDefaultComparerClass(CORINFO_CLASS_HANDLE cls)
{
- CORINFO_CLASS_HANDLE result = (CORINFO_CLASS_HANDLE)GetDefaultComparerClass->Get(CastHandle(cls));
+ DWORDLONG key = CastHandle(cls);
+ AssertCodeMsg(GetDefaultComparerClass != nullptr, EXCEPTIONCODE_MC, "Didn't find map for %016llX", key);
+ AssertCodeMsg(GetDefaultComparerClass->GetIndex(key) != -1, EXCEPTIONCODE_MC, "Didn't find %016llX", key);
+ CORINFO_CLASS_HANDLE result = (CORINFO_CLASS_HANDLE)GetDefaultComparerClass->Get(key);
return result;
}
@@ -3135,7 +3133,10 @@ void MethodContext::dmpGetDefaultEqualityComparerClass(DWORDLONG key, DWORDLONG
}
CORINFO_CLASS_HANDLE MethodContext::repGetDefaultEqualityComparerClass(CORINFO_CLASS_HANDLE cls)
{
- CORINFO_CLASS_HANDLE result = (CORINFO_CLASS_HANDLE)GetDefaultEqualityComparerClass->Get(CastHandle(cls));
+ DWORDLONG key = CastHandle(cls);
+ AssertCodeMsg(GetDefaultEqualityComparerClass != nullptr, EXCEPTIONCODE_MC, "Didn't find map for %016llX", key);
+ AssertCodeMsg(GetDefaultEqualityComparerClass->GetIndex(key) != -1, EXCEPTIONCODE_MC, "Didn't find %016llX", key);
+ CORINFO_CLASS_HANDLE result = (CORINFO_CLASS_HANDLE)GetDefaultEqualityComparerClass->Get(key);
return result;
}