58,60c58,60
< void reanalyzeMessages(Addr addr);
< void reanalyzeAllMessages();
< void stallMessage(Addr addr);
---
> void reanalyzeMessages(Addr addr, Tick current_time);
> void reanalyzeAllMessages(Tick current_time);
> void stallMessage(Addr addr, Tick current_time);
63c63
< bool isReady() const;
---
> bool isReady(Tick current_time) const;
66c66
< delayHead()
---
> delayHead(Tick current_time, Tick delta)
72c72
< enqueue(m, Cycles(1));
---
> enqueue(m, current_time, delta);
75c75
< bool areNSlotsAvailable(unsigned int n);
---
> bool areNSlotsAvailable(unsigned int n, Tick curTime);
89,102d88
< void setSender(ClockedObject* obj)
< {
< DPRINTF(RubyQueue, "Setting sender: %s\n", obj->name());
< assert(m_sender == NULL || m_sender == obj);
< m_sender = obj;
< }
<
< void setReceiver(ClockedObject* obj)
< {
< DPRINTF(RubyQueue, "Setting receiver: %s\n", obj->name());
< assert(m_receiver == NULL || m_receiver == obj);
< m_receiver = obj;
< }
<
111,116c97
< const MsgPtr&
< peekMsgPtr() const
< {
< assert(isReady());
< return m_prio_heap.front();
< }
---
> const MsgPtr &peekMsgPtr() const { return m_prio_heap.front(); }
118,119c99
< void enqueue(MsgPtr message) { enqueue(message, Cycles(1)); }
< void enqueue(MsgPtr message, Cycles delta);
---
> void enqueue(MsgPtr message, Tick curTime, Tick delta);
123c103
< Cycles dequeue();
---
> Tick dequeue(Tick current_time);
125c105
< void recycle();
---
> void recycle(Tick current_time, Tick recycle_latency);
130c110
< unsigned int getSize();
---
> unsigned int getSize(Tick curTime);
151,153d130
< //added by SS
< const Cycles m_recycle_latency;
<
158,161d134
< //! The two ends of the buffer.
< ClockedObject* m_sender;
< ClockedObject* m_receiver;
<
173c146
< Cycles m_time_last_time_size_checked;
---
> Tick m_time_last_time_size_checked;
178c151
< Cycles m_time_last_time_enqueue;
---
> Tick m_time_last_time_enqueue;
196c169
< Cycles random_time();
---
> Tick random_time();