base: Transition CP annotate to use shared_ptr
authorAndreas Hansson <andreas.hansson@arm.com>
Thu, 16 Oct 2014 09:49:47 +0000 (05:49 -0400)
committerAndreas Hansson <andreas.hansson@arm.com>
Thu, 16 Oct 2014 09:49:47 +0000 (05:49 -0400)
src/base/cp_annotate.cc
src/base/cp_annotate.hh

index 858ee0cb895b86fb2d0f657ea0991bf16219f74f..4904949b4d4fb5f81416b1abb128f8b6352962e2 100644 (file)
@@ -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);
index b5c9688575ec409bc1fb35f5d698b23990106b91..5d554aa73bc3493842bcfc46666fccee19244ef8 100644 (file)
@@ -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 {