diff options
author | Bruce Forstall <brucefo@microsoft.com> | 2021-02-18 22:14:55 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-18 22:14:55 +0300 |
commit | 3bcee54244c3e58d0435d8a09cd149cd9ae9a438 (patch) | |
tree | 97b625e532838c77fb91bd2d13c39a784af2ec10 /src/coreclr/ToolBox | |
parent | cef3ef127246855356e49c1e83813d88f8c6a9a0 (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.cpp | 33 |
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; } |