Bobby R. Bruce has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/50747 )

Change subject: base-stats: fix storage initializing
......................................................................

base-stats: fix storage initializing

Commit (70194795c3f41cc3f1e361b3cac24f839d86dd67) introduced std::vector with resize() to initializing all storages. This method caused data duplication in statistics. Storage is now initialized using loops.

Change-Id: I4350863a83671fc10cc02b5cb7d3b38e6cf4f565
---
M src/base/statistics.hh
1 file changed, 12 insertions(+), 3 deletions(-)



diff --git a/src/base/statistics.hh b/src/base/statistics.hh
index 18f52cb..8fc71eb 100644
--- a/src/base/statistics.hh
+++ b/src/base/statistics.hh
@@ -952,7 +952,10 @@
         fatal_if(s <= 0, "Storage size must be positive");
         fatal_if(check(), "Stat has already been initialized");

-        storage.resize(s, new Storage(this->info()->getStorageParams()));
+        storage.reserve(s);
+        for (size_type i = 0; i < s; ++i)
+ storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();
     }

@@ -1178,7 +1181,10 @@
         info->x = _x;
         info->y = _y;

-        storage.resize(x * y, new Storage(info->getStorageParams()));
+        storage.reserve(x * y);
+        for (size_type i = 0; i < x * y; ++i)
+ storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();

         return self;
@@ -1387,7 +1393,10 @@
         fatal_if(s <= 0, "Storage size must be positive");
         fatal_if(check(), "Stat has already been initialized");

-        storage.resize(s, new Storage(this->info()->getStorageParams()));
+        storage.reserve(s);
+        for (size_type i = 0; i < s; ++i)
+ storage.push_back(new Storage(this->info()->getStorageParams()));
+
         this->setInit();
     }


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

Gerrit-Project: public/gem5
Gerrit-Branch: hotfix-vector-stats
Gerrit-Change-Id: I4350863a83671fc10cc02b5cb7d3b38e6cf4f565
Gerrit-Change-Number: 50747
Gerrit-PatchSet: 1
Gerrit-Owner: Bobby R. Bruce <[email protected]>
Gerrit-CC: Meng Chen <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to