ruby: Fix double statistic registration in garnet

Currently garnet will not run due to double statistic registration of new
stats in ClockedObject. This occurs because a temporary array named 'cls'
is being added as a child to garnet internal and external link SimObjects.
This patch simply renames the temporary array which prevents it from
being added as a child object and avoids the assertion that a statistic
was already registered.

Committed by Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
Matthew Poremba 2016-07-01 10:31:37 -05:00
parent 86e9a6ffec
commit 134824e847

View file

@ -53,19 +53,20 @@ class GarnetIntLink_d(BasicIntLink):
cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh" cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh"
# The detailed fixed pipeline bi-directional link include two main # The detailed fixed pipeline bi-directional link include two main
# forward links and two backward flow-control links, one per direction # forward links and two backward flow-control links, one per direction
nls = [] _nls = []
# In uni-directional link # In uni-directional link
nls.append(NetworkLink_d()); _nls.append(NetworkLink_d());
# Out uni-directional link # Out uni-directional link
nls.append(NetworkLink_d()); _nls.append(NetworkLink_d());
network_links = VectorParam.NetworkLink_d(nls, "forward links") network_links = VectorParam.NetworkLink_d(_nls, "forward links")
cls = [] _cls = []
# In uni-directional link # In uni-directional link
cls.append(CreditLink_d()); _cls.append(CreditLink_d());
# Out uni-directional link # Out uni-directional link
cls.append(CreditLink_d()); _cls.append(CreditLink_d());
credit_links = VectorParam.CreditLink_d(cls, "backward flow-control links") credit_links = VectorParam.CreditLink_d(_cls,
"backward flow-control links")
# Exterior fixed pipeline links between a router and a controller # Exterior fixed pipeline links between a router and a controller
class GarnetExtLink_d(BasicExtLink): class GarnetExtLink_d(BasicExtLink):
@ -73,16 +74,17 @@ class GarnetExtLink_d(BasicExtLink):
cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh" cxx_header = "mem/ruby/network/garnet/fixed-pipeline/GarnetLink_d.hh"
# The detailed fixed pipeline bi-directional link include two main # The detailed fixed pipeline bi-directional link include two main
# forward links and two backward flow-control links, one per direction # forward links and two backward flow-control links, one per direction
nls = [] _nls = []
# In uni-directional link # In uni-directional link
nls.append(NetworkLink_d()); _nls.append(NetworkLink_d());
# Out uni-directional link # Out uni-directional link
nls.append(NetworkLink_d()); _nls.append(NetworkLink_d());
network_links = VectorParam.NetworkLink_d(nls, "forward links") network_links = VectorParam.NetworkLink_d(_nls, "forward links")
cls = [] _cls = []
# In uni-directional link # In uni-directional link
cls.append(CreditLink_d()); _cls.append(CreditLink_d());
# Out uni-directional link # Out uni-directional link
cls.append(CreditLink_d()); _cls.append(CreditLink_d());
credit_links = VectorParam.CreditLink_d(cls, "backward flow-control links") credit_links = VectorParam.CreditLink_d(_cls,
"backward flow-control links")