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