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