summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-09-10 17:25:00 -0700
committerGabe Black <gabeblack@google.com>2018-10-09 21:45:00 +0000
commit86d82dff58d631318161127b67d5689bb44f76cf (patch)
tree0131fb1d4f161a3bc7ca20c03d0137f245e2c45c /src/systemc/core/process.cc
parente4ab67f7176b3c11536698014c98681d3d36131b (diff)
downloadgem5-86d82dff58d631318161127b67d5689bb44f76cf.tar.xz
systemc: Keep all pre-init processes on a single list.
We were keeping track of processes which should be initialized and those which shouldn't on two different lists, and then processing each list one after the other. This could reorder processes from the order they were created, and so cause spurious differences which cause the Accellera tests to fail. This does make the scheduler slightly simpler, so it's not all bad. Change-Id: I63306a41ce7bea91fa9ff2f6774ce9150134ce48 Reviewed-on: https://gem5-review.googlesource.com/c/12613 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/process.cc')
-rw-r--r--src/systemc/core/process.cc12
1 files changed, 3 insertions, 9 deletions
diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc
index e4d213bc1..553f332d3 100644
--- a/src/systemc/core/process.cc
+++ b/src/systemc/core/process.cc
@@ -314,12 +314,6 @@ Process::syncResetOff(bool inc_kids)
}
void
-Process::dontInitialize()
-{
- scheduler.dontInitialize(this);
-}
-
-void
Process::finalize()
{
for (auto &s: pendingStaticSensitivities) {
@@ -400,9 +394,9 @@ Process::lastReport(::sc_core::sc_report *report)
Process::Process(const char *name, ProcessFuncWrapper *func, bool internal) :
::sc_core::sc_process_b(name), excWrapper(nullptr), func(func),
- _internal(internal), _timedOut(false), _needsStart(true),
- _isUnwinding(false), _terminated(false), _suspended(false),
- _disabled(false), _syncReset(false), refCount(0),
+ _internal(internal), _timedOut(false), _dontInitialize(false),
+ _needsStart(true), _isUnwinding(false), _terminated(false),
+ _suspended(false), _disabled(false), _syncReset(false), refCount(0),
stackSize(::Fiber::DefaultStackSize), dynamicSensitivity(nullptr)
{
_dynamic =