summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/base/cp_annotate.cc4
-rw-r--r--src/base/cp_annotate.hh5
2 files changed, 5 insertions, 4 deletions
diff --git a/src/base/cp_annotate.cc b/src/base/cp_annotate.cc
index 858ee0cb8..4904949b4 100644
--- a/src/base/cp_annotate.cc
+++ b/src/base/cp_annotate.cc
@@ -822,7 +822,7 @@ CPA::swSyscallLink(ThreadContext *tc)
CPA::AnnDataPtr
CPA::add(int t, int f, int c, int sm, int stq, int32_t d)
{
- AnnDataPtr an = new AnnotateData;
+ AnnDataPtr an = std::make_shared<AnnotateData>();
an->time = curTick();
an->data = d;
an->orig_data = d;
@@ -1373,7 +1373,7 @@ CPA::unserialize(Checkpoint *cp, const std::string &section)
if (!qSize[x])
continue;
for (int y = 0; y < qSize[x]; y++) {
- AnnDataPtr a = new AnnotateData;
+ AnnDataPtr a = std::make_shared<AnnotateData>();
a->unserialize(cp, csprintf("%s.Q%d_%d", section, x, y));
data.push_back(a);
qData[x].push_back(a);
diff --git a/src/base/cp_annotate.hh b/src/base/cp_annotate.hh
index b5c968857..5d554aa73 100644
--- a/src/base/cp_annotate.hh
+++ b/src/base/cp_annotate.hh
@@ -45,6 +45,7 @@
#include <list>
#include <map>
+#include <memory>
#include <string>
#include <vector>
@@ -189,7 +190,7 @@ class CPA : SimObject
}
/* struct that is written to the annotation output file */
- struct AnnotateData : public RefCounted {
+ struct AnnotateData {
Tick time;
uint32_t data;
@@ -206,7 +207,7 @@ class CPA : SimObject
};
- typedef RefCountingPtr<AnnotateData> AnnDataPtr;
+ typedef std::shared_ptr<AnnotateData> AnnDataPtr;
/* header for the annotation file */
struct AnnotateHeader {