diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/base/cp_annotate.cc | 4 | ||||
-rw-r--r-- | src/base/cp_annotate.hh | 5 |
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 §ion) 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 { |