summaryrefslogtreecommitdiff
path: root/src/mem/ruby/system/RubySystem.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/ruby/system/RubySystem.hh')
-rw-r--r--src/mem/ruby/system/RubySystem.hh19
1 files changed, 3 insertions, 16 deletions
diff --git a/src/mem/ruby/system/RubySystem.hh b/src/mem/ruby/system/RubySystem.hh
index 8ebd3494a..407a253f3 100644
--- a/src/mem/ruby/system/RubySystem.hh
+++ b/src/mem/ruby/system/RubySystem.hh
@@ -50,21 +50,6 @@ class AbstractController;
class RubySystem : public ClockedObject
{
public:
- class RubyEvent : public Event
- {
- public:
- RubyEvent(RubySystem* _ruby_system)
- {
- m_ruby_system = _ruby_system;
- }
- private:
- void process();
-
- RubySystem* m_ruby_system;
- };
-
- friend class RubyEvent;
-
typedef RubySystemParams Params;
RubySystem(const Params *p);
~RubySystem();
@@ -111,7 +96,8 @@ class RubySystem : public ClockedObject
bool eventQueueEmpty() { return eventq->empty(); }
void enqueueRubyEvent(Tick tick)
{
- RubyEvent* e = new RubyEvent(this);
+ auto e = new EventFunctionWrapper(
+ [this]{ processRubyEvent(); }, "RubyEvent");
schedule(e, tick);
}
@@ -130,6 +116,7 @@ class RubySystem : public ClockedObject
static void writeCompressedTrace(uint8_t *raw_data, std::string file,
uint64_t uncompressed_trace_size);
+ void processRubyEvent();
private:
// configuration parameters
static bool m_randomization;