diff options
Diffstat (limited to 'src/mem/ruby/slicc_interface')
-rw-r--r-- | src/mem/ruby/slicc_interface/Message.hh | 24 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/NetworkMessage.hh | 15 |
2 files changed, 21 insertions, 18 deletions
diff --git a/src/mem/ruby/slicc_interface/Message.hh b/src/mem/ruby/slicc_interface/Message.hh index d9df6f131..ff94fdd40 100644 --- a/src/mem/ruby/slicc_interface/Message.hh +++ b/src/mem/ruby/slicc_interface/Message.hh @@ -31,29 +31,31 @@ #include <iostream> -#include "mem/gems_common/RefCnt.hh" -#include "mem/gems_common/RefCountable.hh" +#include "base/refcnt.hh" #include "mem/ruby/common/Global.hh" #include "mem/ruby/eventqueue/RubyEventQueue.hh" class Message; -typedef RefCnt<Message> MsgPtr; +typedef RefCountingPtr<Message> MsgPtr; -class Message : public RefCountable +class Message : public RefCounted { public: Message() - : RefCountable() - { - m_time = g_eventQueue_ptr->getTime(); - m_LastEnqueueTime = g_eventQueue_ptr->getTime(); - m_DelayedCycles = 0; - } + : m_time(g_eventQueue_ptr->getTime()), + m_LastEnqueueTime(g_eventQueue_ptr->getTime()), + m_DelayedCycles(0) + { } + + Message(const Message &other) + : m_time(other.m_time), + m_LastEnqueueTime(other.m_LastEnqueueTime), + m_DelayedCycles(other.m_DelayedCycles) + { } virtual ~Message() { } virtual Message* clone() const = 0; - virtual void destroy() = 0; virtual void print(std::ostream& out) const = 0; void setDelayedCycles(const int& cycles) { m_DelayedCycles = cycles; } diff --git a/src/mem/ruby/slicc_interface/NetworkMessage.hh b/src/mem/ruby/slicc_interface/NetworkMessage.hh index 41365ff9e..c92de0937 100644 --- a/src/mem/ruby/slicc_interface/NetworkMessage.hh +++ b/src/mem/ruby/slicc_interface/NetworkMessage.hh @@ -31,8 +31,7 @@ #include <iostream> -#include "mem/gems_common/RefCnt.hh" -#include "mem/gems_common/RefCountable.hh" +#include "base/refcnt.hh" #include "mem/protocol/MessageSizeType.hh" #include "mem/ruby/common/Global.hh" #include "mem/ruby/common/NetDest.hh" @@ -41,16 +40,18 @@ class Address; class NetworkMessage; -typedef RefCnt<NetworkMessage> NetMsgPtr; +typedef RefCountingPtr<NetworkMessage> NetMsgPtr; class NetworkMessage : public Message { public: NetworkMessage() - : Message() - { - m_internal_dest_valid = false; - } + : m_internal_dest_valid(false) + { } + + NetworkMessage(const NetworkMessage &other) + : Message(other), m_internal_dest_valid(other.m_internal_dest_valid) + { } virtual ~NetworkMessage() { } |