LSQ Unit: After deleting part of a split request, set it to NULL so that it
[gem5.git] / src / sim / eventq.hh
index cee48665da4b82fe887a4e0b27b803e2c4e49930..3869ca287163fd1f8b8d78adea1c85cd50c3e4e6 100644 (file)
@@ -370,10 +370,11 @@ class EventQueue : public Serializable
     void insert(Event *event);
     void remove(Event *event);
 
+    EventQueue(const EventQueue &);
+    const EventQueue &operator=(const EventQueue &);
+
   public:
-    EventQueue(const std::string &n)
-        : objName(n), head(NULL)
-    {}
+    EventQueue(const std::string &n);
 
     virtual const std::string name() const { return objName; }
 
@@ -576,6 +577,13 @@ class EventWrapper : public Event
             setFlags(AutoDelete);
     }
 
+    EventWrapper(T &obj, bool del = false, Priority p = Default_Pri)
+        : Event(p), object(&obj)
+    {
+        if (del)
+            setFlags(AutoDelete);
+    }
+
     void process() { (object->*F)(); }
 
     const std::string