X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FCapability.h;h=d380af9cff5d3a952feebd7bfe85dcf08ceeeab7;hb=e8832eb9f05ca46d9315250c3baf7010eb0630a4;hp=e50dba3183fd7e415946d66bc8b7c59adb7247bd;hpb=cc65b3682b688fb510e6458b4e4c4504430393db;p=ghc-hetmet.git diff --git a/rts/Capability.h b/rts/Capability.h index e50dba3..d380af9 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -101,7 +101,8 @@ struct Capability_ { nat sparks_created; nat sparks_dud; nat sparks_converted; - nat sparks_pruned; + nat sparks_gcd; + nat sparks_fizzled; #endif // Per-capability STM-related data @@ -239,11 +240,6 @@ void prodCapability (Capability *cap, Task *task); // void prodAllCapabilities (void); -// Waits for a capability to drain of runnable threads and workers, -// and then acquires it. Used at shutdown time. -// -void shutdownCapability (Capability *cap, Task *task, rtsBool wait_foreign); - // Attempt to gain control of a Capability if it is free. // rtsBool tryGrabCapability (Capability *cap, Task *task); @@ -269,6 +265,15 @@ extern void grabCapability (Capability **pCap); #endif /* !THREADED_RTS */ +// Waits for a capability to drain of runnable threads and workers, +// and then acquires it. Used at shutdown time. +// +void shutdownCapability (Capability *cap, Task *task, rtsBool wait_foreign); + +// Shut down all capabilities. +// +void shutdownCapabilities(Task *task, rtsBool wait_foreign); + // cause all capabilities to context switch as soon as possible. void setContextSwitches(void); INLINE_HEADER void contextSwitchCapability(Capability *cap); @@ -277,9 +282,11 @@ INLINE_HEADER void contextSwitchCapability(Capability *cap); void freeCapabilities (void); // For the GC: -void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta, - rtsBool no_mark_sparks); +void markCapability (evac_fn evac, void *user, Capability *cap, + rtsBool no_mark_sparks USED_IF_THREADS); + void markCapabilities (evac_fn evac, void *user); + void traverseSparkQueues (evac_fn evac, void *user); /* -----------------------------------------------------------------------------