A general scheduler implementation. MMTk uses it to schedule GC-related work.
Scheduler | |
Worker | |
WorkerGroup | |
WorkerLocalPtr | This struct will be accessed during trace_object(), which is performance critical.
However, we do not know its concrete type as the plan and its copy context is dynamically selected.
Instead use a void* type to store it, and during trace_object() we cast it to the correct copy context type.
|
Context | The global context for the whole scheduling system.
This context is globally accessable for all work-packets, workers and the scheduler.
|
CoordinatorWork | A special kind of work that will execute on the coordinator (i.e. controller) thread
|
GCWork | |
Work | |
WorkerLocal | Thread-local data for each worker thread.
|