projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Capability stopping when waiting for GC
[ghc-hetmet.git]
/
rts
/
Capability.h
diff --git
a/rts/Capability.h
b/rts/Capability.h
index
c50fe7f
..
f13afe2
100644
(file)
--- a/
rts/Capability.h
+++ b/
rts/Capability.h
@@
-162,6
+162,9
@@
extern Capability *capabilities;
//
extern Capability *last_free_capability;
//
extern Capability *last_free_capability;
+// GC indicator, in scope for the scheduler
+extern volatile StgWord waiting_for_gc;
+
// Acquires a capability at a return point. If *cap is non-NULL, then
// this is taken as a preference for the Capability we wish to
// acquire.
// Acquires a capability at a return point. If *cap is non-NULL, then
// this is taken as a preference for the Capability we wish to
// acquire.
@@
-235,6
+238,11
@@
extern void grabCapability (Capability **pCap);
// Free a capability on exit
void freeCapability (Capability *cap);
// Free a capability on exit
void freeCapability (Capability *cap);
+// FOr the GC:
+void markSomeCapabilities (evac_fn evac, void *user, nat i0, nat delta);
+void markCapabilities (evac_fn evac, void *user);
+void traverseSparkQueues (evac_fn evac, void *user);
+
/* -----------------------------------------------------------------------------
* INLINE functions... private below here
* -------------------------------------------------------------------------- */
/* -----------------------------------------------------------------------------
* INLINE functions... private below here
* -------------------------------------------------------------------------- */