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 --- 22 unchanged lines hidden (view full) --- 31#define __SYSTEMC_CORE_PROCESS_HH__ 32 33#include <functional> 34#include <memory> 35#include <vector> 36 37#include "base/fiber.hh" 38#include "systemc/core/list.hh" |
39#include "systemc/core/module.hh" |
40#include "systemc/core/object.hh" 41#include "systemc/core/sched_event.hh" 42#include "systemc/core/sensitivity.hh" 43#include "systemc/ext/core/sc_event.hh" 44#include "systemc/ext/core/sc_module.hh" 45#include "systemc/ext/core/sc_process_handle.hh" 46 47namespace sc_core --- 79 unchanged lines hidden (view full) --- 127 128 bool dontInitialize() { return _dontInitialize; } 129 void dontInitialize(bool di) { _dontInitialize = di; } 130 131 void joinWait(::sc_core::sc_join *join) { joinWaiters.push_back(join); } 132 133 void waitCount(int count) { _waitCount = count; } 134 |
135 const char *uniqueName(const char *seed) { return nameGen.gen(seed); } 136 |
137 protected: 138 void timeout(); 139 140 Process(const char *name, ProcessFuncWrapper *func, bool internal=false); 141 142 static Process *_newest; 143 144 virtual ~Process() --- 44 unchanged lines hidden (view full) --- 189 190 StaticSensitivities staticSensitivities; 191 DynamicSensitivity *dynamicSensitivity; 192 ResetSensitivities resetSensitivities; 193 194 std::unique_ptr<::sc_core::sc_report> _lastReport; 195 196 std::vector<::sc_core::sc_join *> joinWaiters; |
197 198 UniqueNameGen nameGen; |
199}; 200 201} // namespace sc_gem5 202 203#endif //__SYSTEMC_CORE_PROCESS_HH__ |