Don't FastAlloc MSHRs since we don't allocate them on the fly.
authorSteve Reinhardt <stever@gmail.com>
Mon, 24 Mar 2008 05:08:02 +0000 (01:08 -0400)
committerSteve Reinhardt <stever@gmail.com>
Mon, 24 Mar 2008 05:08:02 +0000 (01:08 -0400)
--HG--
extra : convert_revision : 02775cfb460afe6df0df0938c62cccd93a71e775

src/cpu/memtest/memtest.hh
src/cpu/o3/lsq_unit.hh
src/cpu/ozone/lw_lsq.hh
src/dev/io_device.hh
src/mem/bridge.hh
src/mem/cache/cache_impl.hh
src/mem/packet.hh

index ac2d0a05831f785f2f914bc8572c576c85e11c4b..43f141af64748a96f22d16577eff5b888a12bda2 100644 (file)
@@ -35,6 +35,7 @@
 #include <set>
 
 #include "base/statistics.hh"
+#include "base/fast_alloc.hh"
 #include "params/MemTest.hh"
 #include "sim/eventq.hh"
 #include "sim/sim_exit.hh"
@@ -116,7 +117,7 @@ class MemTest : public MemObject
 
     bool snoopRangeSent;
 
-    class MemTestSenderState : public Packet::SenderState
+    class MemTestSenderState : public Packet::SenderState, public FastAlloc
     {
       public:
         /** Constructor. */
index 128a71dbcedef7a53da343d77169f2b3344adae6..3ae69723dc75050809cbde9edba66b7faa0273f9 100644 (file)
@@ -40,6 +40,7 @@
 #include "arch/faults.hh"
 #include "arch/locked_mem.hh"
 #include "config/full_system.hh"
+#include "base/fast_alloc.hh"
 #include "base/hashmap.hh"
 #include "cpu/inst_seq.hh"
 #include "mem/packet.hh"
@@ -245,7 +246,7 @@ class LSQUnit {
     Port *dcachePort;
 
     /** Derived class to hold any sender state the LSQ needs. */
-    class LSQSenderState : public Packet::SenderState
+    class LSQSenderState : public Packet::SenderState, public FastAlloc
     {
       public:
         /** Default constructor. */
index 7fc8b6307d1135f51f9d3d6092bb5a7d7b729c74..2525da76e85ce82e3589b33634645c7318b31e82 100644 (file)
@@ -39,6 +39,7 @@
 #include "arch/faults.hh"
 #include "arch/types.hh"
 #include "config/full_system.hh"
+#include "base/fast_alloc.hh"
 #include "base/hashmap.hh"
 #include "cpu/inst_seq.hh"
 #include "mem/packet.hh"
@@ -301,7 +302,7 @@ class OzoneLWLSQ {
     };
 
     /** Derived class to hold any sender state the LSQ needs. */
-    class LSQSenderState : public Packet::SenderState
+    class LSQSenderState : public Packet::SenderState, public FastAlloc
     {
       public:
         /** Default constructor. */
index 876166adb5525765f0b0049c18462ab4ddd26731..44aa01798717d70d5194a7f1db6fe3e64ef0b300 100644 (file)
@@ -32,6 +32,7 @@
 #ifndef __DEV_IO_DEVICE_HH__
 #define __DEV_IO_DEVICE_HH__
 
+#include "base/fast_alloc.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
 #include "mem/tport.hh"
@@ -73,7 +74,7 @@ class PioPort : public SimpleTimingPort
 class DmaPort : public Port
 {
   protected:
-    struct DmaReqState : public Packet::SenderState
+    struct DmaReqState : public Packet::SenderState, public FastAlloc
     {
         /** Event to call on the device when this transaction (all packets)
          * complete. */
index 1331a45f934790bb41b3d7b0cc4519024316bd83..a9dd67a2b313daf04808d644ab3d602aeaa78521 100644 (file)
@@ -42,6 +42,7 @@
 #include <inttypes.h>
 #include <queue>
 
+#include "base/fast_alloc.hh"
 #include "mem/mem_object.hh"
 #include "mem/packet.hh"
 #include "mem/port.hh"
@@ -73,7 +74,7 @@ class Bridge : public MemObject
         /** Pass ranges from one side of the bridge to the other? */
         std::vector<Range<Addr> > filterRanges;
 
-        class PacketBuffer : public Packet::SenderState {
+        class PacketBuffer : public Packet::SenderState, public FastAlloc {
 
           public:
             Tick ready;
index 2f4567e0d2f71c67f372e44e644e9bc0741ea0d5..47d20f915ae9e7f05c055036eb7119c72162e4cf 100644 (file)
@@ -38,6 +38,7 @@
  */
 
 #include "sim/host.hh"
+#include "base/fast_alloc.hh"
 #include "base/misc.hh"
 #include "base/range_ops.hh"
 
@@ -346,7 +347,7 @@ Cache<TagStore>::access(PacketPtr pkt, BlkType *&blk, int &lat)
 }
 
 
-class ForwardResponseRecord : public Packet::SenderState
+class ForwardResponseRecord : public Packet::SenderState, public FastAlloc
 {
     Packet::SenderState *prevSenderState;
     int prevSrc;
index 05442b36982c6a2b6fe0c4d0a764b5e714fab370..7aad9de98abe29e9ded9ae65071b20f4230ac52e 100644 (file)
@@ -295,7 +295,7 @@ class Packet : public FastAlloc, public Printable
      *    needed to process it.  A specific subclass would be derived
      *    from this to carry state specific to a particular sending
      *    device.  */
-    class SenderState : public FastAlloc {
+    class SenderState {
       public:
         virtual ~SenderState() {}
     };
@@ -304,7 +304,7 @@ class Packet : public FastAlloc, public Printable
      * Object used to maintain state of a PrintReq.  The senderState
      * field of a PrintReq should always be of this type.
      */
-    class PrintReqState : public SenderState {
+    class PrintReqState : public SenderState, public FastAlloc {
         /** An entry in the label stack. */
         class LabelStackEntry {
           public: