1 /* -----------------------------------------------------------------------------
2 * $Id: Sparks.h,v 1.2 2000/03/31 03:09:36 hwloidl Exp $
4 * (c) The GHC Team, 2000
6 * Sparking support for GRAN, PAR and SMP versions of the RTS.
8 * ---------------------------------------------------------------------------*/
12 void findLocalSpark (rtsEvent *event, rtsBool *found_res, rtsSparkQ *spark_res);
13 rtsBool activateSpark (rtsEvent *event, rtsSparkQ spark);
14 rtsSpark *newSpark(StgClosure *node, nat name, nat gran_info,
15 nat size_info, nat par_info, nat local);
16 void add_to_spark_queue(rtsSpark *spark);
17 rtsSpark *delete_from_sparkq (rtsSpark *spark, PEs p, rtsBool dispose_too);
18 void disposeSpark(rtsSpark *spark);
19 void disposeSparkQ(rtsSparkQ spark);
20 void print_spark(rtsSpark *spark);
21 void print_sparkq(PEs proc);
22 void print_sparkq_stats(void);
23 nat spark_queue_len(PEs proc);
24 void markSparkQueue(void);
26 #elif defined(PAR) || defined(SMP)
28 void initSparkPools( void );
29 void markSparkQueue( void );
30 StgClosure *findSpark( void );
31 rtsBool add_to_spark_queue( StgClosure *closure, StgSparkPool *pool );
32 void markSparkQueue( void );