diff options
author | Nilay Vaish <nilay@cs.wisc.edu> | 2014-02-20 17:26:41 -0600 |
---|---|---|
committer | Nilay Vaish <nilay@cs.wisc.edu> | 2014-02-20 17:26:41 -0600 |
commit | b312a41f21b6f76607fe7480a915a4c5093386a3 (patch) | |
tree | 94092e1c3a3123af56a22aa2fd745ab8a66ba00b /src/mem/ruby/buffers/MessageBuffer.hh | |
parent | 0d6009e8dc3ab8419ca7daf9c79c9c987464e3ae (diff) | |
download | gem5-b312a41f21b6f76607fe7480a915a4c5093386a3.tar.xz |
ruby: message buffer: removes some unecessary functions.
Diffstat (limited to 'src/mem/ruby/buffers/MessageBuffer.hh')
-rw-r--r-- | src/mem/ruby/buffers/MessageBuffer.hh | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/src/mem/ruby/buffers/MessageBuffer.hh b/src/mem/ruby/buffers/MessageBuffer.hh index d3bd90a64..45870e608 100644 --- a/src/mem/ruby/buffers/MessageBuffer.hh +++ b/src/mem/ruby/buffers/MessageBuffer.hh @@ -74,7 +74,7 @@ class MessageBuffer enqueue(node.m_msgptr, Cycles(1)); } - bool areNSlotsAvailable(int n); + bool areNSlotsAvailable(unsigned int n); int getPriority() { return m_priority_rank; } void setPriority(int rank) { m_priority_rank = rank; } void setConsumer(Consumer* consumer) @@ -104,8 +104,9 @@ class MessageBuffer Consumer* getConsumer() { return m_consumer; } - const Message* peekAtHeadOfQueue() const; - const Message* peek() const { return peekAtHeadOfQueue(); } + //! Function for extracting the message at the head of the + //! message queue. The function assumes that the queue is nonempty. + const Message* peek() const; const MsgPtr getMsgPtrCopy() const; const MsgPtr& @@ -115,23 +116,15 @@ class MessageBuffer return m_prio_heap.front().m_msgptr; } - const MsgPtr& - peekMsgPtrEvenIfNotReady() const - { - return m_prio_heap.front().m_msgptr; - } - void enqueue(MsgPtr message) { enqueue(message, Cycles(1)); } void enqueue(MsgPtr message, Cycles delta); - //! returns delay ticks of the message. - Cycles dequeue_getDelayCycles(MsgPtr& message); - void dequeue(MsgPtr& message); - - //! returns delay cycles of the message + //! Updates the delay cycles of the message at the of the queue, + //! removes it from the queue and returns its total delay. Cycles dequeue_getDelayCycles(); - void dequeue() { pop(); } - void pop(); + + void dequeue(); + void recycle(); bool isEmpty() const { return m_prio_heap.size() == 0; } @@ -141,12 +134,12 @@ class MessageBuffer m_strict_fifo = order; m_ordering_set = true; } + void resize(int size) { m_max_size = size; } int getSize(); void setRandomization(bool random_flag) { m_randomization = random_flag; } void clear(); - void print(std::ostream& out) const; void clearStats() { m_not_avail_count = 0; m_msg_counter = 0; } @@ -168,13 +161,6 @@ class MessageBuffer //added by SS Cycles m_recycle_latency; - // Private Methods - Cycles setAndReturnDelayCycles(MsgPtr message); - - // Private copy constructor and assignment operator - MessageBuffer(const MessageBuffer& obj); - MessageBuffer& operator=(const MessageBuffer& obj); - // Data Members (m_ prefix) //! The two ends of the buffer. ClockedObject* m_sender; |