mem-garnet: Use smart pointers for CrossbarSwitch's members
authorDaniel R. Carvalho <odanrc@yahoo.com.br>
Tue, 7 Jan 2020 22:49:52 +0000 (23:49 +0100)
committerDaniel Carvalho <odanrc@yahoo.com.br>
Tue, 14 Jan 2020 07:04:57 +0000 (07:04 +0000)
Use smart pointers for the pointers managed by CrossbarSwitch.

Change-Id: I71958c72cde5981d730aa3f68bba0ffbe4c2506f
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/24244
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu>
Tested-by: kokoro <noreply+kokoro@google.com>
src/mem/ruby/network/garnet2.0/CrossbarSwitch.cc
src/mem/ruby/network/garnet2.0/CrossbarSwitch.hh

index fbaf25b7d5e830ed07a6994fd40ff43cc0781b0b..e3a5665be7bb20907322353c360faa58d473a18e 100644 (file)
@@ -1,6 +1,7 @@
 /*
- * Copyright (c) 2008 Princeton University
+ * Copyright (c) 2020 Inria
  * Copyright (c) 2016 Georgia Institute of Technology
+ * Copyright (c) 2008 Princeton University
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
 
 #include "mem/ruby/network/garnet2.0/CrossbarSwitch.hh"
 
-#include "base/stl_helpers.hh"
 #include "debug/RubyNetwork.hh"
 #include "mem/ruby/network/garnet2.0/OutputUnit.hh"
 #include "mem/ruby/network/garnet2.0/Router.hh"
 
-using m5::stl_helpers::deletePointers;
-
 CrossbarSwitch::CrossbarSwitch(Router *router)
     : Consumer(router)
 {
@@ -48,11 +46,6 @@ CrossbarSwitch::CrossbarSwitch(Router *router)
     m_crossbar_activity = 0;
 }
 
-CrossbarSwitch::~CrossbarSwitch()
-{
-    deletePointers(m_switch_buffer);
-}
-
 void
 CrossbarSwitch::init()
 {
@@ -61,7 +54,7 @@ CrossbarSwitch::init()
     m_num_inports = m_router->get_num_inports();
     m_switch_buffer.resize(m_num_inports);
     for (int i = 0; i < m_num_inports; i++) {
-        m_switch_buffer[i] = new flitBuffer();
+        m_switch_buffer[i].reset(new flitBuffer());
     }
 }
 
index 9d4fee5a733d1a732afd38457c64c93da8235af4..40d2f6b690dfd401b538ce7828b3057014dfb711 100644 (file)
@@ -1,6 +1,7 @@
 /*
- * Copyright (c) 2008 Princeton University
+ * Copyright (c) 2020 Inria
  * Copyright (c) 2016 Georgia Institute of Technology
+ * Copyright (c) 2008 Princeton University
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -35,6 +36,7 @@
 #define __MEM_RUBY_NETWORK_GARNET2_0_CROSSBARSWITCH_HH__
 
 #include <iostream>
+#include <memory>
 #include <vector>
 
 #include "mem/ruby/common/Consumer.hh"
@@ -48,7 +50,7 @@ class CrossbarSwitch : public Consumer
 {
   public:
     CrossbarSwitch(Router *router);
-    ~CrossbarSwitch();
+    ~CrossbarSwitch() = default;
     void wakeup();
     void init();
     void print(std::ostream& out) const {};
@@ -66,7 +68,7 @@ class CrossbarSwitch : public Consumer
     int m_num_inports;
     double m_crossbar_activity;
     Router *m_router;
-    std::vector<flitBuffer *> m_switch_buffer;
+    std::vector<std::unique_ptr<flitBuffer>> m_switch_buffer;
     std::vector<OutputUnit *> m_output_unit;
 };