summaryrefslogtreecommitdiff
path: root/src/mem/slicc
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-09-18 22:46:34 -0500
committerNilay Vaish <nilay@cs.wisc.edu>2012-09-18 22:46:34 -0500
commit86b1c0fd540b57c1e7bba948ad0417f22f90eb41 (patch)
treec4dc42939158c13b5eeff2f6809fa800c99e490b /src/mem/slicc
parentd2b57a7473768e8aff3707916b40b264cab6821c (diff)
downloadgem5-86b1c0fd540b57c1e7bba948ad0417f22f90eb41.tar.xz
ruby: avoid using g_system_ptr for event scheduling
This patch removes the use of g_system_ptr for event scheduling. Each consumer object now needs to specify upfront an EventManager object it would use for scheduling events. This makes the ruby memory system more amenable for a multi-threaded simulation.
Diffstat (limited to 'src/mem/slicc')
-rw-r--r--src/mem/slicc/ast/FuncCallExprAST.py4
-rw-r--r--src/mem/slicc/symbols/StateMachine.py2
2 files changed, 3 insertions, 3 deletions
diff --git a/src/mem/slicc/ast/FuncCallExprAST.py b/src/mem/slicc/ast/FuncCallExprAST.py
index ab6261de2..1438934e6 100644
--- a/src/mem/slicc/ast/FuncCallExprAST.py
+++ b/src/mem/slicc/ast/FuncCallExprAST.py
@@ -142,7 +142,7 @@ class FuncCallExprAST(ExprAST):
}
if (result == TransitionResult_ResourceStall) {
- scheduleEvent(this, 1);
+ scheduleEvent(1);
// Cannot do anything with this transition, go check next doable transition (mostly likely of next port)
}
@@ -173,7 +173,7 @@ class FuncCallExprAST(ExprAST):
}
if (result1 == TransitionResult_ResourceStall) {
- scheduleEvent(this, 1);
+ scheduleEvent(1);
// Cannot do anything with this transition, go check next
// doable transition (mostly likely of next port)
}
diff --git a/src/mem/slicc/symbols/StateMachine.py b/src/mem/slicc/symbols/StateMachine.py
index 47f7daa00..43153c773 100644
--- a/src/mem/slicc/symbols/StateMachine.py
+++ b/src/mem/slicc/symbols/StateMachine.py
@@ -1047,7 +1047,7 @@ ${ident}_Controller::wakeup()
g_system_ptr->getProfiler()->controllerBusy(m_machineID);
// Wakeup in another cycle and try again
- scheduleEvent(this, 1);
+ scheduleEvent(1);
break;
}
''')