Ruby: Make DataBlock.hh independent of RubySystem
authorNilay Vaish <nilay@cs.wisc.edu>
Fri, 25 Feb 2011 23:51:02 +0000 (17:51 -0600)
committerNilay Vaish <nilay@cs.wisc.edu>
Fri, 25 Feb 2011 23:51:02 +0000 (17:51 -0600)
This patch changes DataBlock.hh so that it is not dependent on RubySystem.
This dependence seems unecessary. All those functions that depende on
RubySystem have been moved to DataBlock.cc file.

src/cpu/testers/rubytest/RubyTester.hh
src/mem/ruby/common/DataBlock.cc
src/mem/ruby/common/DataBlock.hh

index 53341bce997b6e569ddb1575f468309dd7b54f46..ac023b43f329aeccf32cc599fbe0763aebc1cf6e 100644 (file)
@@ -37,7 +37,6 @@
 #include "cpu/testers/rubytest/CheckTable.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
-#include "mem/ruby/common/DataBlock.hh"
 #include "mem/ruby/common/Global.hh"
 #include "mem/ruby/common/SubBlock.hh"
 #include "mem/ruby/system/RubyPort.hh"
index 8d3c812429deae08bbf36afe1d3c02e43717a97f..5aba4332a186907e2b9401f639493bbe0a34c643 100644 (file)
  */
 
 #include "mem/ruby/common/DataBlock.hh"
+#include "mem/ruby/system/System.hh"
+
+DataBlock::DataBlock(const DataBlock &cp)
+{
+    m_data = new uint8[RubySystem::getBlockSizeBytes()];
+    memcpy(m_data, cp.m_data, RubySystem::getBlockSizeBytes());
+    m_alloc = true;
+}
+
+void
+DataBlock::alloc()
+{
+    m_data = new uint8[RubySystem::getBlockSizeBytes()];
+    m_alloc = true;
+    clear();
+}
+
+void
+DataBlock::clear()
+{
+    memset(m_data, 0, RubySystem::getBlockSizeBytes());
+}
+
+bool
+DataBlock::equal(const DataBlock& obj) const
+{
+    return !memcmp(m_data, obj.m_data, RubySystem::getBlockSizeBytes());
+}
+
+void
+DataBlock::print(std::ostream& out) const
+{
+    using namespace std;
+
+    int size = RubySystem::getBlockSizeBytes();
+    out << "[ ";
+    for (int i = 0; i < size; i++) {
+        out << setw(2) << setfill('0') << hex << "0x" << (int)m_data[i] << " ";
+        out << setfill(' ');
+    }
+    out << dec << "]" << flush;
+}
+
+const uint8*
+DataBlock::getData(int offset, int len) const
+{
+    assert(offset + len <= RubySystem::getBlockSizeBytes());
+    return &m_data[offset];
+}
+
+void
+DataBlock::setData(uint8* data, int offset, int len)
+{
+    assert(offset + len <= RubySystem::getBlockSizeBytes());
+    memcpy(&m_data[offset], data, len);
+}
 
 DataBlock &
 DataBlock::operator=(const DataBlock & obj)
index 007040930e1e89863d17f2dac4f228b1d96c22f5..1d6abcfeedb6300f16c63ff2ccd279efccff015a 100644 (file)
@@ -33,7 +33,6 @@
 #include <iostream>
 
 #include "mem/ruby/common/Global.hh"
-#include "mem/ruby/system/System.hh"
 
 class DataBlock
 {
@@ -43,12 +42,7 @@ class DataBlock
         alloc();
     }
 
-    DataBlock(const DataBlock &cp)
-    {
-        m_data = new uint8[RubySystem::getBlockSizeBytes()];
-        memcpy(m_data, cp.m_data, RubySystem::getBlockSizeBytes());
-        m_alloc = true;
-    }
+    DataBlock(const DataBlock &cp);
 
     ~DataBlock()
     {
@@ -85,66 +79,18 @@ DataBlock::assign(uint8* data)
     m_alloc = false;
 }
 
-inline void
-DataBlock::alloc()
-{
-    m_data = new uint8[RubySystem::getBlockSizeBytes()];
-    m_alloc = true;
-    clear();
-}
-
-inline void
-DataBlock::clear()
-{
-    memset(m_data, 0, RubySystem::getBlockSizeBytes());
-}
-
-inline bool
-DataBlock::equal(const DataBlock& obj) const
-{
-    return !memcmp(m_data, obj.m_data, RubySystem::getBlockSizeBytes());
-}
-
-inline void
-DataBlock::print(std::ostream& out) const
-{
-    using namespace std;
-
-    int size = RubySystem::getBlockSizeBytes();
-    out << "[ ";
-    for (int i = 0; i < size; i++) {
-        out << setw(2) << setfill('0') << hex << "0x" << (int)m_data[i] << " ";
-        out << setfill(' ');
-    }
-    out << dec << "]" << flush;
-}
-
 inline uint8
 DataBlock::getByte(int whichByte) const
 {
     return m_data[whichByte];
 }
 
-inline const uint8*
-DataBlock::getData(int offset, int len) const
-{
-    assert(offset + len <= RubySystem::getBlockSizeBytes());
-    return &m_data[offset];
-}
-
 inline void
 DataBlock::setByte(int whichByte, uint8 data)
 {
     m_data[whichByte] = data;
 }
 
-inline void
-DataBlock::setData(uint8* data, int offset, int len)
-{
-    assert(offset + len <= RubySystem::getBlockSizeBytes());
-    memcpy(&m_data[offset], data, len);
-}
-
 inline void
 DataBlock::copyPartial(const DataBlock & dblk, int offset, int len)
 {