ruby: avoid using g_system_ptr for event scheduling
authorNilay Vaish <nilay@cs.wisc.edu>
Wed, 19 Sep 2012 03:46:34 +0000 (22:46 -0500)
committerNilay Vaish <nilay@cs.wisc.edu>
Wed, 19 Sep 2012 03:46:34 +0000 (22:46 -0500)
commit86b1c0fd540b57c1e7bba948ad0417f22f90eb41
treec4dc42939158c13b5eeff2f6809fa800c99e490b
parentd2b57a7473768e8aff3707916b40b264cab6821c
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.
27 files changed:
src/mem/ruby/common/Consumer.cc
src/mem/ruby/common/Consumer.hh
src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc
src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
src/mem/ruby/network/garnet/flexible-pipeline/FlexibleConsumer.hh
src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc
src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc
src/mem/ruby/network/garnet/flexible-pipeline/Router.cc
src/mem/ruby/network/garnet/flexible-pipeline/VCarbiter.cc
src/mem/ruby/network/simple/PerfectSwitch.cc
src/mem/ruby/network/simple/Switch.cc
src/mem/ruby/network/simple/Switch.hh
src/mem/ruby/network/simple/Throttle.cc
src/mem/ruby/network/simple/Throttle.hh
src/mem/ruby/slicc_interface/AbstractController.cc
src/mem/ruby/system/AbstractMemOrCache.hh
src/mem/ruby/system/MemoryControl.cc
src/mem/ruby/system/System.hh
src/mem/ruby/system/WireBuffer.cc
src/mem/ruby/system/WireBuffer.hh
src/mem/slicc/ast/FuncCallExprAST.py
src/mem/slicc/symbols/StateMachine.py