X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSparks.h;h=77d280bea8e1a855f190f804b867029a9c6d6886;hb=45252b35151fc55aa19fb6770df5ed8267639083;hp=1cc92eba70d69de8ced0045ffca08328f223eba2;hpb=c5cd2343c5a86c8cb5349823a9699b30a269f3e8;p=ghc-hetmet.git diff --git a/ghc/rts/Sparks.h b/ghc/rts/Sparks.h index 1cc92eb..77d280b 100644 --- a/ghc/rts/Sparks.h +++ b/ghc/rts/Sparks.h @@ -1,20 +1,23 @@ /* ----------------------------------------------------------------------------- * - * (c) The GHC Team, 2000 + * (c) The GHC Team, 2000-2006 * - * Sparking support for GRAN, PAR and SMP versions of the RTS. + * Sparking support for GRAN, PAR and THREADED_RTS versions of the RTS. * * ---------------------------------------------------------------------------*/ #ifndef SPARKS_H #define SPARKS_H -#if defined(PARALLEL_HASKELL) || defined(SMP) +#if !defined(GRAN) +StgInt newSpark (StgRegTable *reg, StgClosure *p); +#endif + +#if defined(PARALLEL_HASKELL) || defined(THREADED_RTS) StgClosure * findSpark (Capability *cap); void initSparkPools (void); void markSparkQueue (evac_fn evac); void createSparkThread (Capability *cap, StgClosure *p); -StgInt newSpark (StgRegTable *reg, StgClosure *p); INLINE_HEADER void discardSparks (StgSparkPool *pool); INLINE_HEADER nat sparkPoolSize (StgSparkPool *pool); @@ -53,7 +56,7 @@ void markSparkQueue(void); * PRIVATE below here * -------------------------------------------------------------------------- */ -#if defined(PARALLEL_HASKELL) || defined(SMP) +#if defined(PARALLEL_HASKELL) || defined(THREADED_RTS) INLINE_HEADER rtsBool emptySparkPool (StgSparkPool *pool) @@ -90,6 +93,12 @@ discardSparksCap (Capability *cap) { return discardSparks(&cap->r.rSparks); } +#elif defined(THREADED_RTS) + +INLINE_HEADER rtsBool +emptySparkPoolCap (Capability *cap STG_UNUSED) +{ return rtsTrue; } + #endif #endif /* SPARKS_H */