Run sparks in batches, instead of creating a new thread for each one
[ghc-hetmet.git] / rts / Sparks.h
index 4062a0b..9696889 100644 (file)
@@ -73,11 +73,11 @@ StgClosure* reclaimSpark(SparkPool *pool);
 // if the pool is almost empty).
 rtsBool looksEmpty(SparkPool* deque);
 
-StgClosure * tryStealSpark     (SparkPool *pool);
+StgClosure * tryStealSpark     (Capability *cap);
 void         freeSparkPool     (SparkPool *pool);
-void         createSparkThread (Capability *cap, StgClosure *p);
-void         pruneSparkQueues  (void);
+void         createSparkThread (Capability *cap);
 void         traverseSparkQueue(evac_fn evac, void *user, Capability *cap);
+void         pruneSparkQueue   (evac_fn evac, void *user, Capability *cap);
 
 INLINE_HEADER void discardSparks  (SparkPool *pool);
 INLINE_HEADER nat  sparkPoolSize  (SparkPool *pool);