diff options
author | Gabe Black <gabeblack@google.com> | 2017-09-25 15:17:30 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2017-09-26 21:16:35 +0000 |
commit | 0c5c74c373058c2b1046ead06a40b9bd837c6969 (patch) | |
tree | 18195fbe5a7f0bfd51174adecec423212ea4e8ca | |
parent | 9015069ea0c82221bd4665a5bdf9a9b46a7fd904 (diff) | |
download | gem5-0c5c74c373058c2b1046ead06a40b9bd837c6969.tar.xz |
sim: Only consider non-NULL elements in SimObjectVector.has_parent.
NullSimObject doesn't have a has_parent function, and it's not clear what its
return value should be if one were added. The appropriate value seems to
depend on why some other bit of code is checking if there's a parent in the
first place.
In SimObjectVector, the has_parent function is checking whether all of its
elements have a parent. In this particular case, the most reasonable thing
to do seems to be to just skip those elements.
Change-Id: I5f8cad66d1b22c5e37962492fd77cff9371e5af8
Reviewed-on: https://gem5-review.googlesource.com/4841
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r-- | src/python/m5/params.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/python/m5/params.py b/src/python/m5/params.py index b49f811d1..e5f47e694 100644 --- a/src/python/m5/params.py +++ b/src/python/m5/params.py @@ -270,7 +270,8 @@ class SimObjectVector(VectorParamValue): v.set_parent(parent, "%s%0*d" % (name, width, i)) def has_parent(self): - return reduce(lambda x,y: x and y, [v.has_parent() for v in self]) + elements = [e for e in self if not isNullPointer(e)] + return reduce(lambda x,y: x and y, [v.has_parent() for v in elements]) # return 'cpu0 cpu1' etc. for print_ini() def get_name(self): |