event.hh (13260:4d18f1d20093) event.hh (13288:f1c04129f709)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 60 unchanged lines hidden (view full) ---

69
70 const std::string &name() const;
71 const std::string &basename() const;
72 bool inHierarchy() const;
73 sc_core::sc_object *getParentObject() const;
74
75 void notify(StaticSensitivities &senses);
76 void notify(DynamicSensitivities &senses);
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 60 unchanged lines hidden (view full) ---

69
70 const std::string &name() const;
71 const std::string &basename() const;
72 bool inHierarchy() const;
73 sc_core::sc_object *getParentObject() const;
74
75 void notify(StaticSensitivities &senses);
76 void notify(DynamicSensitivities &senses);
77 void notify(ResetSensitivities &senses);
78
79 void notify();
80 void notify(const sc_core::sc_time &t);
81 void
82 notify(double d, sc_core::sc_time_unit &u)
83 {
84 notify(sc_core::sc_time(d, u));
85 }

--- 47 unchanged lines hidden (view full) ---

133 for (auto &t: senses) {
134 if (t == s) {
135 t = senses.back();
136 senses.pop_back();
137 break;
138 }
139 }
140 }
77
78 void notify();
79 void notify(const sc_core::sc_time &t);
80 void
81 notify(double d, sc_core::sc_time_unit &u)
82 {
83 notify(sc_core::sc_time(d, u));
84 }

--- 47 unchanged lines hidden (view full) ---

132 for (auto &t: senses) {
133 if (t == s) {
134 t = senses.back();
135 senses.pop_back();
136 break;
137 }
138 }
139 }
141 void
142 addSensitivity(ResetSensitivity *s) const
143 {
144 resetSense.push_back(s);
145 }
146 void
147 delSensitivity(ResetSensitivity *s) const
148 {
149 for (auto &t: resetSense) {
150 if (t == s) {
151 t = resetSense.back();
152 resetSense.pop_back();
153 break;
154 }
155 }
156 }
157
158 private:
159 sc_core::sc_event *_sc_event;
160
161 std::string _basename;
162 std::string _name;
163 bool _inHierarchy;
164
165 sc_core::sc_object *parent;
166
167 ScEvent delayedNotify;
168 mutable uint64_t _triggeredStamp;
169
170 mutable StaticSensitivities staticSenseMethod;
171 mutable StaticSensitivities staticSenseThread;
172 mutable DynamicSensitivities dynamicSenseMethod;
173 mutable DynamicSensitivities dynamicSenseThread;
140
141 private:
142 sc_core::sc_event *_sc_event;
143
144 std::string _basename;
145 std::string _name;
146 bool _inHierarchy;
147
148 sc_core::sc_object *parent;
149
150 ScEvent delayedNotify;
151 mutable uint64_t _triggeredStamp;
152
153 mutable StaticSensitivities staticSenseMethod;
154 mutable StaticSensitivities staticSenseThread;
155 mutable DynamicSensitivities dynamicSenseMethod;
156 mutable DynamicSensitivities dynamicSenseThread;
174 mutable ResetSensitivities resetSense;
175};
176
177extern Events topLevelEvents;
178extern Events allEvents;
179
180EventsIt findEvent(const std::string &name);
181
182} // namespace sc_gem5
183
184#endif //__SYSTEMC_CORE_EVENT_HH__
157};
158
159extern Events topLevelEvents;
160extern Events allEvents;
161
162EventsIt findEvent(const std::string &name);
163
164} // namespace sc_gem5
165
166#endif //__SYSTEMC_CORE_EVENT_HH__