mem: Print an MSHR without triggering any assertions
Previously printing an mshr would trigger an assertion if the MSHR was not in service or if the targets list was empty. This patch changes the print function to bypasses the accessor functions for postInvalidate and postDowngrade and avoid the relevant assertions. It also checks if the targets list is empty before calling print on it. Change-Id: Ic18bee6cb088f63976112eba40e89501237cfe62 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
This commit is contained in:
parent
4c494965ab
commit
25ce5db3a3
1 changed files with 6 additions and 4 deletions
6
src/mem/cache/mshr.cc
vendored
6
src/mem/cache/mshr.cc
vendored
|
@ -518,11 +518,13 @@ MSHR::print(std::ostream &os, int verbosity, const std::string &prefix) const
|
|||
_isUncacheable ? "Unc" : "",
|
||||
inService ? "InSvc" : "",
|
||||
downstreamPending ? "DwnPend" : "",
|
||||
hasPostInvalidate() ? "PostInv" : "",
|
||||
hasPostDowngrade() ? "PostDowngr" : "");
|
||||
postInvalidate ? "PostInv" : "",
|
||||
postDowngrade ? "PostDowngr" : "");
|
||||
|
||||
if (!targets.empty()) {
|
||||
ccprintf(os, "%s Targets:\n", prefix);
|
||||
targets.print(os, verbosity, prefix + " ");
|
||||
}
|
||||
if (!deferredTargets.empty()) {
|
||||
ccprintf(os, "%s Deferred Targets:\n", prefix);
|
||||
deferredTargets.print(os, verbosity, prefix + " ");
|
||||
|
|
Loading…
Reference in a new issue