diff options
author | Gabe Black <gabeblack@google.com> | 2018-08-24 17:58:10 -0700 |
---|---|---|
committer | Gabe Black <gabeblack@google.com> | 2018-09-26 00:01:55 +0000 |
commit | 28b09df79bdd6c232be2b386119569291f92311c (patch) | |
tree | 81ad2c20317c9946794152df562801958239ee50 /src/systemc/core/process.hh | |
parent | e95a3062415a27ddd8183fa3a621aba6198b1621 (diff) | |
download | gem5-28b09df79bdd6c232be2b386119569291f92311c.tar.xz |
systemc: Make sure methods aren't restarted by yield.
Methods may need to yield control to other Processes when throwing
them exceptions. In that case, we need to keep track of the fact that
the method doesn't need to be restarted when it resumes within yield.
Change-Id: I829c387d6ddb563b2957db47e55adadbbe6bc51a
Reviewed-on: https://gem5-review.googlesource.com/12265
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
Diffstat (limited to 'src/systemc/core/process.hh')
-rw-r--r-- | src/systemc/core/process.hh | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh index 17f417b6e..0cb3e3c01 100644 --- a/src/systemc/core/process.hh +++ b/src/systemc/core/process.hh @@ -271,6 +271,7 @@ class Process : public ::sc_core::sc_process_b, public ListNode public: virtual ::sc_core::sc_curr_proc_kind procKind() const = 0; bool needsStart() const { return _needsStart; } + void needsStart(bool ns) { _needsStart = ns; } bool dynamic() const { return _dynamic; } bool isUnwinding() const { return _isUnwinding; } void isUnwinding(bool v) { _isUnwinding = v; } |