process.hh (13194:9c6b495e650c) process.hh (13196:4b5ab2c22743)
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

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

44#include "systemc/ext/core/sc_event.hh"
45#include "systemc/ext/core/sc_export.hh"
46#include "systemc/ext/core/sc_interface.hh"
47#include "systemc/ext/core/sc_module.hh"
48#include "systemc/ext/core/sc_port.hh"
49#include "systemc/ext/core/sc_process_handle.hh"
50#include "systemc/ext/utils/sc_report.hh"
51
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

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

44#include "systemc/ext/core/sc_event.hh"
45#include "systemc/ext/core/sc_export.hh"
46#include "systemc/ext/core/sc_interface.hh"
47#include "systemc/ext/core/sc_module.hh"
48#include "systemc/ext/core/sc_port.hh"
49#include "systemc/ext/core/sc_process_handle.hh"
50#include "systemc/ext/utils/sc_report.hh"
51
52namespace sc_core
53{
54
55class sc_join;
56
57} // namespace sc_core
58
52namespace sc_gem5
53{
54
55class ScHalt
56{};
57
58class Sensitivity
59{

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

342 bool hasStaticSensitivities() { return !staticSensitivities.empty(); }
343 bool internal() { return _internal; }
344 bool timedOut() { return _timedOut; }
345 void timedOut(bool to) { _timedOut = to; }
346
347 bool dontInitialize() { return _dontInitialize; }
348 void dontInitialize(bool di) { _dontInitialize = di; }
349
59namespace sc_gem5
60{
61
62class ScHalt
63{};
64
65class Sensitivity
66{

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

349 bool hasStaticSensitivities() { return !staticSensitivities.empty(); }
350 bool internal() { return _internal; }
351 bool timedOut() { return _timedOut; }
352 void timedOut(bool to) { _timedOut = to; }
353
354 bool dontInitialize() { return _dontInitialize; }
355 void dontInitialize(bool di) { _dontInitialize = di; }
356
357 void joinWait(::sc_core::sc_join *join) { joinWaiters.push_back(join); }
358
350 protected:
351 Process(const char *name, ProcessFuncWrapper *func, bool internal=false);
352
353 static Process *_newest;
354
355 virtual ~Process()
356 {
357 popListNode();

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

391 size_t stackSize;
392
393 Sensitivities staticSensitivities;
394 PendingSensitivities pendingStaticSensitivities;
395
396 Sensitivity *dynamicSensitivity;
397
398 std::unique_ptr<::sc_core::sc_report> _lastReport;
359 protected:
360 Process(const char *name, ProcessFuncWrapper *func, bool internal=false);
361
362 static Process *_newest;
363
364 virtual ~Process()
365 {
366 popListNode();

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

400 size_t stackSize;
401
402 Sensitivities staticSensitivities;
403 PendingSensitivities pendingStaticSensitivities;
404
405 Sensitivity *dynamicSensitivity;
406
407 std::unique_ptr<::sc_core::sc_report> _lastReport;
408
409 std::vector<::sc_core::sc_join *> joinWaiters;
399};
400
401inline void
402Sensitivity::satisfy(bool timedOut)
403{
404 process->timedOut(timedOut);
405 process->satisfySensitivity(this);
406}

--- 17 unchanged lines hidden ---
410};
411
412inline void
413Sensitivity::satisfy(bool timedOut)
414{
415 process->timedOut(timedOut);
416 process->satisfySensitivity(this);
417}

--- 17 unchanged lines hidden ---