cpu: Added interface for vector reg file
[gem5.git] / src / sim / ticked_object.hh
index ee143e0df07b1e33ed81c6f46e98f12db5b39acb..d8b69a3208b6fcd85352703ebac1b12741201750 100644 (file)
 #ifndef __SIM_TICKED_OBJECT_HH__
 #define __SIM_TICKED_OBJECT_HH__
 
-#include "params/TickedObject.hh"
 #include "sim/clocked_object.hh"
 
+class TickedObjectParams;
+
 /** Ticked attaches gem5's event queue/scheduler to evaluate
  *  calls and provides a start/stop interface to ticking.
  *
  *  Ticked is not a ClockedObject but can be attached to one by
  *  inheritance and by calling regStats, serialize/unserialize */
-class Ticked
+class Ticked : public Serializable
 {
   protected:
     /** An event to call process periodically */
@@ -164,8 +165,8 @@ class Ticked
     }
 
     /** Checkpoint lastStopped */
-    void serialize(std::ostream &os);
-    void unserialize(Checkpoint *cp, const std::string &section);
+    void serialize(CheckpointOut &cp) const override;
+    void unserialize(CheckpointIn &cp) override;
 
     /** Action to call on the clock tick */
     virtual void evaluate() = 0;
@@ -198,9 +199,9 @@ class TickedObject : public ClockedObject, public Ticked
     using ClockedObject::unserialize;
 
     /** Pass on regStats, serialize etc. onto Ticked */
-    void regStats();
-    void serialize(std::ostream &os);
-    void unserialize(Checkpoint *cp, const std::string &section);
+    void regStats() override;
+    void serialize(CheckpointOut &cp) const override;
+    void unserialize(CheckpointIn &cp) override;
 };
 
 #endif /* __SIM_TICKED_OBJECT_HH__ */