summaryrefslogtreecommitdiff
path: root/rts/Sparks.h
diff options
context:
space:
mode:
authorSimon Marlow <simonmarhaskell@gmail.com>2008-04-24 20:58:13 +0000
committerSimon Marlow <simonmarhaskell@gmail.com>2008-04-24 20:58:13 +0000
commit01ccdeea34b4853750326126f3bff9b2bdfa9a32 (patch)
tree386283d5e2e14a9e2396fe854b5950abb8883b9f /rts/Sparks.h
parent1d0e86e6cd96ce49f478c91fc01de565416ecc22 (diff)
downloadhaskell-01ccdeea34b4853750326126f3bff9b2bdfa9a32.tar.gz
FIX #2185: sparks should not be treated as roots by the GC
Diffstat (limited to 'rts/Sparks.h')
-rw-r--r--rts/Sparks.h29
1 files changed, 3 insertions, 26 deletions
diff --git a/rts/Sparks.h b/rts/Sparks.h
index 57c02e6151..f617558b9e 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 updateSparkQueue (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
* -------------------------------------------------------------------------- */