-----Original Message-----
From: g...@cmdmail.amd.com [mailto:g...@cmdmail.amd.com] 
Sent: Monday, November 09, 2009 10:32 AM
To: Beckmann, Brad
Subject: [PATCH 03 of 31] ruby: Ruby destruction fix

# HG changeset patch
# User Brad Beckmann <brad.beckm...@amd.com>
# Date 1257791382 28800
# Node ID a4db36f36c5f4ef621806128f1a1431746be46be
# Parent  f747ec40f56a8c9452d4448966e606e7bdc4eccf
ruby: Ruby destruction fix.

diff -r f747ec40f56a -r a4db36f36c5f src/mem/ruby/common/DataBlock.hh
--- a/src/mem/ruby/common/DataBlock.hh  Mon Nov 09 10:29:41 2009 -0800
+++ b/src/mem/ruby/common/DataBlock.hh  Mon Nov 09 10:29:42 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 f747ec40f56a -r a4db36f36c5f src/mem/ruby/common/NetDest.hh
--- a/src/mem/ruby/common/NetDest.hh    Mon Nov 09 10:29:41 2009 -0800
+++ b/src/mem/ruby/common/NetDest.hh    Mon Nov 09 10:29:42 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 f747ec40f56a -r a4db36f36c5f
src/mem/ruby/network/simple/SimpleNetwork.cc
--- a/src/mem/ruby/network/simple/SimpleNetwork.cc      Mon Nov 09
10:29:41 2009 -0800
+++ b/src/mem/ruby/network/simple/SimpleNetwork.cc      Mon Nov 09
10:29:42 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 f747ec40f56a -r a4db36f36c5f src/mem/rubymem.cc
--- a/src/mem/rubymem.cc        Mon Nov 09 10:29:41 2009 -0800
+++ b/src/mem/rubymem.cc        Mon Nov 09 10:29:42 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 f747ec40f56a -r a4db36f36c5f src/mem/rubymem.hh
--- a/src/mem/rubymem.hh        Mon Nov 09 10:29:41 2009 -0800
+++ b/src/mem/rubymem.hh        Mon Nov 09 10:29:42 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
m5-dev@m5sim.org
http://m5sim.org/mailman/listinfo/m5-dev

Reply via email to