changeset 3fb50f935a6a in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=3fb50f935a6a
description:
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 <[email protected]>
diffstat:
src/mem/cache/mshr.cc | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diffs (21 lines):
diff -r 0a316996de76 -r 3fb50f935a6a src/mem/cache/mshr.cc
--- a/src/mem/cache/mshr.cc Mon Aug 15 12:00:35 2016 +0100
+++ b/src/mem/cache/mshr.cc Mon Aug 15 12:00:36 2016 +0100
@@ -518,11 +518,13 @@
_isUncacheable ? "Unc" : "",
inService ? "InSvc" : "",
downstreamPending ? "DwnPend" : "",
- hasPostInvalidate() ? "PostInv" : "",
- hasPostDowngrade() ? "PostDowngr" : "");
+ postInvalidate ? "PostInv" : "",
+ postDowngrade ? "PostDowngr" : "");
- ccprintf(os, "%s Targets:\n", prefix);
- targets.print(os, verbosity, prefix + " ");
+ 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 + " ");
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev