From 80b388647588ae864a78a82bb20892e893b6ba10 Mon Sep 17 00:00:00 2001 From: Nilay Vaish Date: Fri, 25 Feb 2011 17:51:02 -0600 Subject: [PATCH] Ruby: Make DataBlock.hh independent of RubySystem 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 | 1 - src/mem/ruby/common/DataBlock.cc | 56 ++++++++++++++++++++++++++ src/mem/ruby/common/DataBlock.hh | 56 +------------------------- 3 files changed, 57 insertions(+), 56 deletions(-) diff --git a/src/cpu/testers/rubytest/RubyTester.hh b/src/cpu/testers/rubytest/RubyTester.hh index 53341bce9..ac023b43f 100644 --- a/src/cpu/testers/rubytest/RubyTester.hh +++ b/src/cpu/testers/rubytest/RubyTester.hh @@ -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" diff --git a/src/mem/ruby/common/DataBlock.cc b/src/mem/ruby/common/DataBlock.cc index 8d3c81242..5aba4332a 100644 --- a/src/mem/ruby/common/DataBlock.cc +++ b/src/mem/ruby/common/DataBlock.cc @@ -27,6 +27,62 @@ */ #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) diff --git a/src/mem/ruby/common/DataBlock.hh b/src/mem/ruby/common/DataBlock.hh index 007040930..1d6abcfee 100644 --- a/src/mem/ruby/common/DataBlock.hh +++ b/src/mem/ruby/common/DataBlock.hh @@ -33,7 +33,6 @@ #include #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) { -- 2.30.2