changeset 4e1ceddba87b in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=4e1ceddba87b
description:
        Port: Hide the queue implementation in SimpleTimingPort

        This patch makes the queue implementation in the SimpleTimingPort
        private to avoid confusion with the protected member queue in the
        QueuedSlavePort. The SimpleTimingPort provides the queue_impl to the
        QueuedSlavePort and it can be accessed via the reference in the base
        class. The use of the member name queue is thus no longer overloaded.

diffstat:

 src/mem/tport.cc |   2 +-
 src/mem/tport.hh |  13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diffs (37 lines):

diff -r 8971a998190a -r 4e1ceddba87b src/mem/tport.cc
--- a/src/mem/tport.cc  Mon Jul 09 12:35:41 2012 -0400
+++ b/src/mem/tport.cc  Mon Jul 09 12:35:42 2012 -0400
@@ -46,7 +46,7 @@
 
 SimpleTimingPort::SimpleTimingPort(const std::string& _name,
                                    MemObject* _owner) :
-    QueuedSlavePort(_name, _owner, queue), queue(*_owner, *this)
+    QueuedSlavePort(_name, _owner, queueImpl), queueImpl(*_owner, *this)
 {
 }
 
diff -r 8971a998190a -r 4e1ceddba87b src/mem/tport.hh
--- a/src/mem/tport.hh  Mon Jul 09 12:35:41 2012 -0400
+++ b/src/mem/tport.hh  Mon Jul 09 12:35:42 2012 -0400
@@ -60,11 +60,18 @@
 class SimpleTimingPort : public QueuedSlavePort
 {
 
+  private:
+
+    /**
+     * The packet queue used to store outgoing responses. Note that
+     * the queue is made private and that we avoid overloading the
+     * name used in the QueuedSlavePort. Access is provided through
+     * the queue reference in the base class.
+     */
+    SlavePacketQueue queueImpl;
+
   protected:
 
-    /** The packet queue used to store outgoing responses. */
-    SlavePacketQueue queue;
-
     /** Implemented using recvAtomic(). */
     void recvFunctional(PacketPtr pkt);
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to