Ruby: Rename RubyPort::sendTiming to avoid overriding base class
This patch renames the sendTiming member function in the RubyPort to avoid inadvertently hiding Port::sendTiming (discovered through some rather painful debugging). The RubyPort does, in fact, rely on the functionality of the queued port and the implementation merely schedules a send the next cycle. The new name for the member function is sendNextCycle to better reflect this behaviour. In the unlikely event that we ever shift to using C++11 the member functions in Port should have a "final" identifier to prevent any overriding in derived classes.
This commit is contained in:
parent
b129d7ce00
commit
adc419a13a
2 changed files with 7 additions and 7 deletions
|
@ -188,7 +188,7 @@ RubyPort::M5Port::recvTiming(PacketPtr pkt)
|
|||
"Request for address 0x%#x is assumed to be a pio request\n",
|
||||
pkt->getAddr());
|
||||
|
||||
return ruby_port->pio_port.sendTiming(pkt);
|
||||
return ruby_port->pio_port.sendNextCycle(pkt);
|
||||
}
|
||||
|
||||
assert(Address(pkt->getAddr()).getOffset() + pkt->getSize() <=
|
||||
|
@ -637,7 +637,7 @@ RubyPort::M5Port::hitCallback(PacketPtr pkt)
|
|||
// turn packet around to go back to requester if response expected
|
||||
if (needsResponse) {
|
||||
DPRINTF(RubyPort, "Sending packet back over port\n");
|
||||
sendTiming(pkt);
|
||||
sendNextCycle(pkt);
|
||||
} else {
|
||||
delete pkt;
|
||||
}
|
||||
|
@ -645,7 +645,7 @@ RubyPort::M5Port::hitCallback(PacketPtr pkt)
|
|||
}
|
||||
|
||||
bool
|
||||
RubyPort::M5Port::sendTiming(PacketPtr pkt)
|
||||
RubyPort::M5Port::sendNextCycle(PacketPtr pkt)
|
||||
{
|
||||
//minimum latency, must be > 0
|
||||
schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock()));
|
||||
|
@ -653,7 +653,7 @@ RubyPort::M5Port::sendTiming(PacketPtr pkt)
|
|||
}
|
||||
|
||||
bool
|
||||
RubyPort::PioPort::sendTiming(PacketPtr pkt)
|
||||
RubyPort::PioPort::sendNextCycle(PacketPtr pkt)
|
||||
{
|
||||
//minimum latency, must be > 0
|
||||
schedSendTiming(pkt, curTick() + (1 * g_eventQueue_ptr->getClock()));
|
||||
|
@ -690,6 +690,6 @@ RubyPort::ruby_eviction_callback(const Address& address)
|
|||
Request req(address.getAddress(), 0, 0, Request::funcMasterId);
|
||||
for (CpuPortIter it = cpu_ports.begin(); it != cpu_ports.end(); it++) {
|
||||
Packet *pkt = new Packet(&req, MemCmd::InvalidationReq, -1);
|
||||
(*it)->sendTiming(pkt);
|
||||
(*it)->sendNextCycle(pkt);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ class RubyPort : public MemObject
|
|||
public:
|
||||
M5Port(const std::string &_name, RubyPort *_port,
|
||||
RubySystem*_system, bool _access_phys_mem);
|
||||
bool sendTiming(PacketPtr pkt);
|
||||
bool sendNextCycle(PacketPtr pkt);
|
||||
void hitCallback(PacketPtr pkt);
|
||||
void evictionCallback(const Address& address);
|
||||
unsigned deviceBlockSize() const;
|
||||
|
@ -88,7 +88,7 @@ class RubyPort : public MemObject
|
|||
|
||||
public:
|
||||
PioPort(const std::string &_name, RubyPort *_port);
|
||||
bool sendTiming(PacketPtr pkt);
|
||||
bool sendNextCycle(PacketPtr pkt);
|
||||
|
||||
protected:
|
||||
virtual bool recvTiming(PacketPtr pkt);
|
||||
|
|
Loading…
Reference in a new issue