From a906e04cb7a86f329e78346d1789ba447f827661 Mon Sep 17 00:00:00 2001 From: "Daniel R. Carvalho" Date: Thu, 18 Mar 2021 10:13:22 -0300 Subject: [PATCH] sim: Make SimObject inherit from Named Standardize name creation of sim objects. Change-Id: I5e0cb828da0810b47217e96e302857e32083c50b Signed-off-by: Daniel R. Carvalho Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/43246 Tested-by: kokoro Reviewed-by: Giacomo Travaglini Maintainer: Giacomo Travaglini --- src/cpu/o3/probe/elastic_trace.cc | 6 ------ src/cpu/o3/probe/elastic_trace.hh | 3 --- src/cpu/o3/probe/simple_trace.hh | 3 +-- src/sim/sim_object.cc | 2 +- src/sim/sim_object.hh | 9 ++------- 5 files changed, 4 insertions(+), 19 deletions(-) diff --git a/src/cpu/o3/probe/elastic_trace.cc b/src/cpu/o3/probe/elastic_trace.cc index 092c0cfb91..56816b0cda 100644 --- a/src/cpu/o3/probe/elastic_trace.cc +++ b/src/cpu/o3/probe/elastic_trace.cc @@ -917,12 +917,6 @@ ElasticTrace::TraceInfo::typeToStr() const return Record::RecordType_Name(type); } -const std::string -ElasticTrace::name() const -{ - return ProbeListenerObject::name(); -} - void ElasticTrace::flushTraces() { diff --git a/src/cpu/o3/probe/elastic_trace.hh b/src/cpu/o3/probe/elastic_trace.hh index 3a6af32b55..4dddcead4a 100644 --- a/src/cpu/o3/probe/elastic_trace.hh +++ b/src/cpu/o3/probe/elastic_trace.hh @@ -109,9 +109,6 @@ class ElasticTrace : public ProbeListenerObject /** Register all listeners. */ void regEtraceListeners(); - /** Returns the name of the trace probe listener. */ - const std::string name() const; - /** * Process any outstanding trace records, flush them out to the protobuf * output streams and delete the streams at simulation exit. diff --git a/src/cpu/o3/probe/simple_trace.hh b/src/cpu/o3/probe/simple_trace.hh index 7ed9ede59e..7fc55655a0 100644 --- a/src/cpu/o3/probe/simple_trace.hh +++ b/src/cpu/o3/probe/simple_trace.hh @@ -63,8 +63,7 @@ class SimpleTrace : public ProbeListenerObject /** Register the probe listeners. */ void regProbeListeners() override; - /** Returns the name of the trace. */ - const std::string + std::string name() const override { return ProbeListenerObject::name() + ".trace"; diff --git a/src/sim/sim_object.cc b/src/sim/sim_object.cc index 949a990a16..f1f88a95c3 100644 --- a/src/sim/sim_object.cc +++ b/src/sim/sim_object.cc @@ -54,7 +54,7 @@ SimObjectResolver *SimObject::_objNameResolver = NULL; // SimObject::SimObject(const Params &p) : EventManager(getEventQueue(p.eventq_index)), - statistics::Group(nullptr), + statistics::Group(nullptr), Named(p.name), _params(p) { #ifdef DEBUG diff --git a/src/sim/sim_object.hh b/src/sim/sim_object.hh index a47b0a31a4..cec27433fc 100644 --- a/src/sim/sim_object.hh +++ b/src/sim/sim_object.hh @@ -49,6 +49,7 @@ #include #include +#include "base/named.hh" #include "base/stats/group.hh" #include "params/SimObject.hh" #include "sim/drain.hh" @@ -140,7 +141,7 @@ class SimObjectResolver; * \endcode */ class SimObject : public EventManager, public Serializable, public Drainable, - public statistics::Group + public statistics::Group, public Named { private: typedef std::vector SimObjectList; @@ -179,12 +180,6 @@ class SimObject : public EventManager, public Serializable, public Drainable, virtual ~SimObject(); public: - - /** - * @ingroup api_simobject - */ - virtual const std::string name() const { return params().name; } - /** * init() is called after all C++ SimObjects have been created and * all ports are connected. Initializations that are independent