projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
A small GC optimisation
[ghc-hetmet.git]
/
rts
/
sm
/
GC.h
diff --git
a/rts/sm/GC.h
b/rts/sm/GC.h
index
920b464
..
38fc87c
100644
(file)
--- a/
rts/sm/GC.h
+++ b/
rts/sm/GC.h
@@
-14,6
+14,8
@@
#ifndef SM_GC_H
#define SM_GC_H
#ifndef SM_GC_H
#define SM_GC_H
+#include "BeginPrivate.h"
+
void GarbageCollect(rtsBool force_major_gc, nat gc_type, Capability *cap);
typedef void (*evac_fn)(void *user, StgClosure **root);
void GarbageCollect(rtsBool force_major_gc, nat gc_type, Capability *cap);
typedef void (*evac_fn)(void *user, StgClosure **root);
@@
-24,14
+26,9
@@
void markCAFs ( evac_fn evac, void *user );
extern nat N;
extern rtsBool major_gc;
extern nat N;
extern rtsBool major_gc;
-extern bdescr *mark_stack_bdescr;
-extern StgPtr *mark_stack;
-extern StgPtr *mark_sp;
-extern StgPtr *mark_splim;
-
-extern rtsBool mark_stack_overflowed;
-extern bdescr *oldgen_scan_bd;
-extern StgPtr oldgen_scan;
+extern bdescr *mark_stack_bd;
+extern bdescr *mark_stack_top_bd;
+extern StgPtr mark_sp;
extern long copied;
extern long copied;
@@
-41,10
+38,6
@@
extern rtsBool work_stealing;
extern nat mutlist_MUTVARS, mutlist_MUTARRS, mutlist_MVARS, mutlist_OTHERS;
#endif
extern nat mutlist_MUTVARS, mutlist_MUTARRS, mutlist_MVARS, mutlist_OTHERS;
#endif
-#ifdef THREADED_RTS
-extern SpinLock gc_alloc_block_sync;
-#endif
-
#if defined(PROF_SPIN) && defined(THREADED_RTS)
extern StgWord64 whitehole_spin;
#endif
#if defined(PROF_SPIN) && defined(THREADED_RTS)
extern StgWord64 whitehole_spin;
#endif
@@
-60,4
+53,6
@@
void releaseGCThreads (Capability *cap);
#define WORK_UNIT_WORDS 128
#define WORK_UNIT_WORDS 128
+#include "EndPrivate.h"
+
#endif /* SM_GC_H */
#endif /* SM_GC_H */