X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSparks.h;h=1b9784668e9d6de8eb6c47233d94c4a03685061e;hb=27de38efce6d73d2a0209f803cfa98c82773e773;hp=57c02e6151fef4c2f925475bb6152f6b9b6afd7a;hpb=f86e7206ea94b48b94fb61007a1c5d55b8c60f45;p=ghc-hetmet.git diff --git a/rts/Sparks.h b/rts/Sparks.h index 57c02e6..1b97846 100644 --- a/rts/Sparks.h +++ b/rts/Sparks.h @@ -9,12 +9,13 @@ #ifndef SPARKS_H #define SPARKS_H -#if defined(PARALLEL_HASKELL) || defined(THREADED_RTS) +#if defined(THREADED_RTS) StgClosure * findSpark (Capability *cap); void initSparkPools (void); void freeSparkPool (StgSparkPool *pool); void createSparkThread (Capability *cap, StgClosure *p); void markSparkQueue (evac_fn evac, void *user, Capability *cap); +void traverseSparkQueue(evac_fn evac, void *user, Capability *cap); INLINE_HEADER void discardSparks (StgSparkPool *pool); INLINE_HEADER nat sparkPoolSize (StgSparkPool *pool); @@ -25,30 +26,6 @@ INLINE_HEADER nat sparkPoolSizeCap (Capability *cap); INLINE_HEADER rtsBool emptySparkPoolCap (Capability *cap); #endif -#if defined(PARALLEL_HASKELL) -StgTSO *activateSpark (rtsSpark spark) ; -rtsBool add_to_spark_queue( StgClosure *closure, StgSparkPool *pool ); -void markSparkQueue( void ); -nat spark_queue_len( StgSparkPool *pool ); -void disposeSpark( StgClosure *spark ); -#endif - -#if defined(GRAN) -void findLocalSpark (rtsEvent *event, rtsBool *found_res, rtsSparkQ *spark_res); -rtsBool activateSpark (rtsEvent *event, rtsSparkQ spark); -rtsSpark *newSpark(StgClosure *node, nat name, nat gran_info, - nat size_info, nat par_info, nat local); -void add_to_spark_queue(rtsSpark *spark); -rtsSpark *delete_from_sparkq (rtsSpark *spark, PEs p, rtsBool dispose_too); -void disposeSpark(rtsSpark *spark); -void disposeSparkQ(rtsSparkQ spark); -void print_spark(rtsSpark *spark); -void print_sparkq(PEs proc); -void print_sparkq_stats(void); -nat spark_queue_len(PEs proc); -void markSparkQueue(void); -#endif - /* ----------------------------------------------------------------------------- * PRIVATE below here * -------------------------------------------------------------------------- */ @@ -69,7 +46,7 @@ INLINE_HEADER nat sparkPoolSize (StgSparkPool *pool) { if (pool->hd <= pool->tl) { - return (pool->hd - pool->tl); + return (pool->tl - pool->hd); } else { return (pool->lim - pool->hd + pool->tl - pool->base); }