X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FCapability.h;h=f8fb7beceb8e27ae41b454f2cb938ade94f8c548;hb=990faa74e434b1ab5578b36220a336c24cff834b;hp=dedd6351b693bebc23ba0f0bac3584e29f2f17d5;hpb=ed12b7043fa98928f75c289a756fbcef546315f8;p=ghc-hetmet.git diff --git a/rts/Capability.h b/rts/Capability.h index dedd635..f8fb7be 100644 --- a/rts/Capability.h +++ b/rts/Capability.h @@ -217,7 +217,7 @@ 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); +void shutdownCapability (Capability *cap, Task *task, rtsBool wait_foreign); // Attempt to gain control of a Capability if it is free. // @@ -235,6 +235,12 @@ extern void grabCapability (Capability **pCap); // Free a capability on exit void freeCapability (Capability *cap); +// FOr the GC: +void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta); +void markCapabilities (evac_fn evac, void *user); +void updateCapabilitiesPostGC (void); +void traverseSparkQueues (evac_fn evac, void *user); + /* ----------------------------------------------------------------------------- * INLINE functions... private below here * -------------------------------------------------------------------------- */