changeset a22a47e60c21 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=a22a47e60c21
description:
        ruby: Ruby destruction fix.

diffstat:

5 files changed, 14 insertions(+), 6 deletions(-)
src/mem/ruby/common/DataBlock.hh             |    6 +++++-
src/mem/ruby/common/NetDest.hh               |    2 +-
src/mem/ruby/network/simple/SimpleNetwork.cc |    2 +-
src/mem/rubymem.cc                           |    7 ++++---
src/mem/rubymem.hh                           |    3 +++

diffs (91 lines):

diff -r 81e9d83f87c0 -r a22a47e60c21 src/mem/ruby/common/DataBlock.hh
--- a/src/mem/ruby/common/DataBlock.hh  Wed Nov 18 13:55:57 2009 -0800
+++ b/src/mem/ruby/common/DataBlock.hh  Wed Nov 18 13:55:57 2009 -0800
@@ -45,7 +45,11 @@
   }
 
   // Destructor
-  ~DataBlock() { if(m_alloc) delete [] m_data;}
+  ~DataBlock() { 
+    if(m_alloc) {
+      delete [] m_data;
+    }
+  }
 
   DataBlock& operator=(const DataBlock& obj);
 
diff -r 81e9d83f87c0 -r a22a47e60c21 src/mem/ruby/common/NetDest.hh
--- a/src/mem/ruby/common/NetDest.hh    Wed Nov 18 13:55:57 2009 -0800
+++ b/src/mem/ruby/common/NetDest.hh    Wed Nov 18 13:55:57 2009 -0800
@@ -63,7 +63,7 @@
   NetDest& operator=(const Set& obj);
 
   // Destructor
-  // ~NetDest();
+  ~NetDest() { DEBUG_MSG(MEMORY_COMP, LowPrio, "NetDest Destructor"); }
 
   // Public Methods
   void add(MachineID newElement);
diff -r 81e9d83f87c0 -r a22a47e60c21 
src/mem/ruby/network/simple/SimpleNetwork.cc
--- a/src/mem/ruby/network/simple/SimpleNetwork.cc      Wed Nov 18 13:55:57 
2009 -0800
+++ b/src/mem/ruby/network/simple/SimpleNetwork.cc      Wed Nov 18 13:55:57 
2009 -0800
@@ -124,7 +124,7 @@
   }
   m_switch_ptr_vector.deletePointers();
   m_buffers_to_free.deletePointers();
-  delete m_topology_ptr;
+  // delete m_topology_ptr;
 }
 
 // From a switch to an endpoint node
diff -r 81e9d83f87c0 -r a22a47e60c21 src/mem/rubymem.cc
--- a/src/mem/rubymem.cc        Wed Nov 18 13:55:57 2009 -0800
+++ b/src/mem/rubymem.cc        Wed Nov 18 13:55:57 2009 -0800
@@ -60,7 +60,7 @@
 
     vector<RubyObjConf> sys_conf;
     while (!config.eof()) {
-        char buffer[4096];
+        char buffer[65536];
         config.getline(buffer, sizeof(buffer));
         string line = buffer;
         if (line.empty())
@@ -119,8 +119,8 @@
     }
 
     //Print stats at exit
-    RubyExitCallback* rc = new RubyExitCallback(this);
-    registerExitCallback(rc);
+    rubyExitCB = new RubyExitCallback(this);
+    registerExitCallback(rubyExitCB);
 
     //Sched RubyEvent, automatically reschedules to advance ruby cycles
     rubyTickEvent = new RubyEvent(this);
@@ -138,6 +138,7 @@
 
 RubyMemory::~RubyMemory()
 {
+    delete g_system_ptr;
 }
 
 void
diff -r 81e9d83f87c0 -r a22a47e60c21 src/mem/rubymem.hh
--- a/src/mem/rubymem.hh        Wed Nov 18 13:55:57 2009 -0800
+++ b/src/mem/rubymem.hh        Wed Nov 18 13:55:57 2009 -0800
@@ -40,6 +40,8 @@
 #include "mem/ruby/system/RubyPort.hh"
 #include "params/RubyMemory.hh"
 
+class RubyExitCallback;
+
 class RubyMemory : public PhysicalMemory
 {
   public:
@@ -119,6 +121,7 @@
   private:
     Tick ruby_clock;
     Tick ruby_phase;
+    RubyExitCallback* rubyExitCB;
 
   public:
     static std::map<int64_t, PacketPtr> pending_requests;
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to