gem5
[DEVELOP-FOR-23.0]
|
Public Member Functions | |
Context (Thread *thread, size_t size) | |
![]() | |
virtual | ~Fiber () |
void | run () |
Start executing the fiber represented by this object. More... | |
bool | finished () const |
Returns whether the "main" function of this fiber has finished. More... | |
bool | started () const |
Returns whether the "main" function of this fiber has started. More... | |
Fiber (size_t stack_size=DefaultStackSize) | |
Fiber (Fiber *link, size_t stack_size=DefaultStackSize) | |
Private Member Functions | |
void | main () override |
This method is called when this fiber is first run. More... | |
Private Attributes | |
Thread * | thread |
Additional Inherited Members | |
![]() | |
static Fiber * | currentFiber () |
Get a pointer to the current running Fiber. More... | |
static Fiber * | primaryFiber () |
Get a pointer to the primary Fiber. More... | |
![]() | |
const static size_t | DefaultStackSize = 0x50000 |
![]() | |
void | setStarted () |
Definition at line 79 of file process_types.hh.
|
inline |
Definition at line 82 of file process_types.hh.
|
inlineoverrideprivatevirtual |
This method is called when this fiber is first run.
Override it to give your fiber something to do. When main returns, the fiber will mark itself as finished and switch to its link fiber.
Implements gem5::Fiber.
Definition at line 90 of file process_types.hh.
References sc_gem5::Process::_needsStart, sc_gem5::Process::run(), sc_gem5::scheduler, sc_gem5::Process::terminate(), thread, sc_gem5::Scheduler::throwUp(), and sc_gem5::Scheduler::yield().
|
private |
Definition at line 87 of file process_types.hh.
Referenced by main().