Nikos Nikoleris has submitted this change. ( https://gem5-review.googlesource.com/c/public/gem5/+/27891 )

Change subject: base, python, sim: Add support for resoving a stat using its name
......................................................................

base, python, sim: Add support for resoving a stat using its name

This CL adds resolve, a function in the Stats namespace that allows
access to a stat as specified by its name.

Change-Id: I4fa8bed394b4cb35d9c6cf5d8db062b8d6bb9ca5
Signed-off-by: Nikos Nikoleris <nikos.nikole...@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/27891
Reviewed-by: Andreas Sandberg <andreas.sandb...@arm.com>
Maintainer: Andreas Sandberg <andreas.sandb...@arm.com>
Tested-by: kokoro <noreply+kok...@google.com>
---
M src/base/statistics.cc
M src/base/statistics.hh
2 files changed, 15 insertions(+), 2 deletions(-)

Approvals:
  Andreas Sandberg: Looks good to me, approved; Looks good to me, approved
  kokoro: Regressions pass



diff --git a/src/base/statistics.cc b/src/base/statistics.cc
index 036029b..e4315ba 100644
--- a/src/base/statistics.cc
+++ b/src/base/statistics.cc
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Arm Limited
+ * Copyright (c) 2019-2020 Arm Limited
  * All rights reserved.
  *
  * The license below extends only to copyright in the software and shall
@@ -54,6 +54,7 @@
 #include "base/str.hh"
 #include "base/time.hh"
 #include "base/trace.hh"
+#include "sim/root.hh"

 using namespace std;

@@ -573,6 +574,17 @@
         fatal("No registered Stats::reset handler");
 }

+const Info *
+resolve(const std::string &name)
+{
+    const auto &it = nameMap().find(name);
+    if (it != nameMap().cend()) {
+        return it->second;
+    } else {
+        return Root::root()->resolveStat(name);
+    }
+}
+
 void
 registerDumpCallback(Callback *cb)
 {
diff --git a/src/base/statistics.hh b/src/base/statistics.hh
index 24a0d06..8f665fe 100644
--- a/src/base/statistics.hh
+++ b/src/base/statistics.hh
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 Arm Limited
+ * Copyright (c) 2019-2020 Arm Limited
  * All rights reserved.
  *
  * The license below extends only to copyright in the software and shall
@@ -3349,6 +3349,7 @@
 void reset();
 void enable();
 bool enabled();
+const Info* resolve(const std::string &name);

 /**
  * Register reset and dump handlers.  These are the functions which

--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/27891
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I4fa8bed394b4cb35d9c6cf5d8db062b8d6bb9ca5
Gerrit-Change-Number: 27891
Gerrit-PatchSet: 3
Gerrit-Owner: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Reviewer: Andreas Sandberg <andreas.sandb...@arm.com>
Gerrit-Reviewer: Bobby R. Bruce <bbr...@ucdavis.edu>
Gerrit-Reviewer: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-Reviewer: Jason Lowe-Power <power...@gmail.com>
Gerrit-Reviewer: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Reviewer: kokoro <noreply+kok...@google.com>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to