summaryrefslogtreecommitdiff
path: root/src/python
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2019-09-24 18:46:23 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2019-09-26 10:03:22 +0000
commit4f52287500cca19325cc58e9cbef374526572e44 (patch)
tree855da9de471a6edffcfce4c4573f2b64a90d1c19 /src/python
parent19017495eadba9dc05b0810cd66a4b90aa0743e0 (diff)
downloadgem5-4f52287500cca19325cc58e9cbef374526572e44.tar.xz
stats: Don't output index in vectors of length 1
New-world stats didn't implement the old gem5 quirk where the index of an element in a vector of size 1 is ignored. This affects the object path when printed in a stat file. Implement the same quirk as the original code to make sure names of old- and new-world stats are compatible. Change-Id: I12696d40baaed2d0bb1ef061e87c3b1d0f4bb4b1 Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21163 Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Diffstat (limited to 'src/python')
-rw-r--r--src/python/m5/stats/__init__.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/python/m5/stats/__init__.py b/src/python/m5/stats/__init__.py
index ab11a9d61..e2e1909f7 100644
--- a/src/python/m5/stats/__init__.py
+++ b/src/python/m5/stats/__init__.py
@@ -257,8 +257,11 @@ def _bindStatHierarchy(root):
if isNullPointer(obj):
return
if m5.SimObject.isSimObjectVector(obj):
- for idx, obj in enumerate(obj):
- _bind_obj("{}{}".format(name, idx), obj)
+ if len(obj) == 1:
+ _bind_obj(name, obj[0])
+ else:
+ for idx, obj in enumerate(obj):
+ _bind_obj("{}{}".format(name, idx), obj)
else:
# We need this check because not all obj.getCCObject() is an
# instance of Stat::Group. For example, sc_core::sc_module, the C++