Sean Wilson has uploaded this change for review. ( https://gem5-review.googlesource.com/3926

Change subject: testers: Refactor some Event subclasses to lambdas
......................................................................

testers: Refactor some Event subclasses to lambdas

Change-Id: I897b6162a827216b7bad74d955c0e50e06a5a3ec
Signed-off-by: Sean Wilson <spwils...@wisc.edu>
---
M src/cpu/testers/directedtest/RubyDirectedTester.cc
M src/cpu/testers/directedtest/RubyDirectedTester.hh
M src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
M src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.hh
M src/cpu/testers/rubytest/RubyTester.cc
M src/cpu/testers/rubytest/RubyTester.hh
6 files changed, 11 insertions(+), 49 deletions(-)



diff --git a/src/cpu/testers/directedtest/RubyDirectedTester.cc b/src/cpu/testers/directedtest/RubyDirectedTester.cc
index 667d50f..ef13337 100644
--- a/src/cpu/testers/directedtest/RubyDirectedTester.cc
+++ b/src/cpu/testers/directedtest/RubyDirectedTester.cc
@@ -47,7 +47,9 @@
 #include "sim/sim_exit.hh"

 RubyDirectedTester::RubyDirectedTester(const Params *p)
-  : MemObject(p), directedStartEvent(this),
+  : MemObject(p),
+    directedStartEvent([this]{ wakeup(); }, "Directed tick",
+                       false, Event::CPU_Tick_Pri),
     m_requests_to_complete(p->requests_to_complete),
     generator(p->generator)
 {
diff --git a/src/cpu/testers/directedtest/RubyDirectedTester.hh b/src/cpu/testers/directedtest/RubyDirectedTester.hh
index 74a8911..00278a6 100644
--- a/src/cpu/testers/directedtest/RubyDirectedTester.hh
+++ b/src/cpu/testers/directedtest/RubyDirectedTester.hh
@@ -85,20 +85,7 @@
     void print(std::ostream& out) const;

   protected:
-    class DirectedStartEvent : public Event
-    {
-      private:
-        RubyDirectedTester *tester;
-
-      public:
-        DirectedStartEvent(RubyDirectedTester *_tester)
-            : Event(CPU_Tick_Pri), tester(_tester)
-        {}
-        void process() { tester->wakeup(); }
-        virtual const char *description() const { return "Directed tick"; }
-    };
-
-    DirectedStartEvent directedStartEvent;
+    EventFunctionWrapper directedStartEvent;

   private:
     void hitCallback(NodeID proc, Addr addr);
diff --git a/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc b/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
index 0f8c877..1345fe9 100644
--- a/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
+++ b/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.cc
@@ -76,7 +76,8 @@

 GarnetSyntheticTraffic::GarnetSyntheticTraffic(const Params *p)
     : MemObject(p),
-      tickEvent(this),
+      tickEvent([this]{ tick(); }, "GarnetSyntheticTraffic tick",
+                false, Event::CPU_Tick_Pri),
       cachePort("GarnetSyntheticTraffic", this),
       retryPkt(NULL),
       size(p->memory_size),
diff --git a/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.hh b/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.hh
index 94eee44..3da7e27 100644
--- a/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.hh
+++ b/src/cpu/testers/garnet_synthetic_traffic/GarnetSyntheticTraffic.hh
@@ -74,21 +74,7 @@
     void printAddr(Addr a);

   protected:
-    class TickEvent : public Event
-    {
-      private:
-        GarnetSyntheticTraffic *cpu;
-
-      public:
- TickEvent(GarnetSyntheticTraffic *c) : Event(CPU_Tick_Pri), cpu(c) {}
-        void process() { cpu->tick(); }
-        virtual const char *description() const
-        {
-            return "GarnetSyntheticTraffic tick";
-        }
-    };
-
-    TickEvent tickEvent;
+    EventFunctionWrapper tickEvent;

     class CpuPort : public MasterPort
     {
@@ -160,6 +146,3 @@
 };

 #endif // __CPU_GARNET_SYNTHETIC_TRAFFIC_HH__
-
-
-
diff --git a/src/cpu/testers/rubytest/RubyTester.cc b/src/cpu/testers/rubytest/RubyTester.cc
index baf2b7e..712d15d 100644
--- a/src/cpu/testers/rubytest/RubyTester.cc
+++ b/src/cpu/testers/rubytest/RubyTester.cc
@@ -50,7 +50,9 @@
 #include "sim/system.hh"

 RubyTester::RubyTester(const Params *p)
-  : MemObject(p), checkStartEvent(this),
+  : MemObject(p),
+    checkStartEvent([this]{ wakeup(); }, "RubyTester tick",
+                    false, Event::CPU_Tick_Pri),
     _masterId(p->system->getMasterId(name())),
     m_checkTable_ptr(nullptr),
     m_num_cpus(p->num_cpus),
diff --git a/src/cpu/testers/rubytest/RubyTester.hh b/src/cpu/testers/rubytest/RubyTester.hh
index 39e6d78..0070359 100644
--- a/src/cpu/testers/rubytest/RubyTester.hh
+++ b/src/cpu/testers/rubytest/RubyTester.hh
@@ -118,20 +118,7 @@

     MasterID masterId() { return _masterId; }
   protected:
-    class CheckStartEvent : public Event
-    {
-      private:
-        RubyTester *tester;
-
-      public:
-        CheckStartEvent(RubyTester *_tester)
-            : Event(CPU_Tick_Pri), tester(_tester)
-        {}
-        void process() { tester->wakeup(); }
- virtual const char *description() const { return "RubyTester tick"; }
-    };
-
-    CheckStartEvent checkStartEvent;
+    EventFunctionWrapper checkStartEvent;

     MasterID _masterId;


--
To view, visit https://gem5-review.googlesource.com/3926
To unsubscribe, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I897b6162a827216b7bad74d955c0e50e06a5a3ec
Gerrit-Change-Number: 3926
Gerrit-PatchSet: 1
Gerrit-Owner: Sean Wilson <spwils...@wisc.edu>
_______________________________________________
gem5-dev mailing list
gem5-dev@gem5.org
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to