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 --- 322 unchanged lines hidden (view full) --- 331 332 virtual Fiber *fiber() { return Fiber::primaryFiber(); } 333 334 static Process *newest() { return _newest; } 335 336 void lastReport(::sc_core::sc_report *report); 337 ::sc_core::sc_report *lastReport() const; 338 |
339 bool hasStaticSensitivities() { return !staticSensitivities.empty(); } 340 bool internal() { return _internal; } 341 |
342 protected: |
343 Process(const char *name, ProcessFuncWrapper *func, bool internal=false); |
344 345 static Process *_newest; 346 347 virtual ~Process() 348 { 349 popListNode(); 350 delete func; 351 for (auto s: staticSensitivities) 352 delete s; 353 } 354 355 ::sc_core::sc_event _resetEvent; 356 ::sc_core::sc_event _terminatedEvent; 357 358 ProcessFuncWrapper *func; 359 sc_core::sc_curr_proc_kind _procKind; |
360 361 bool _internal; 362 |
363 bool _needsStart; 364 bool _dynamic; 365 bool _isUnwinding; 366 bool _terminated; 367 368 void terminate(); 369 370 bool _suspended; --- 39 unchanged lines hidden --- |