summaryrefslogtreecommitdiff
path: root/rts/sm/GC.h
diff options
context:
space:
mode:
Diffstat (limited to 'rts/sm/GC.h')
-rw-r--r--rts/sm/GC.h19
1 files changed, 14 insertions, 5 deletions
diff --git a/rts/sm/GC.h b/rts/sm/GC.h
index 4132160c91..1f3034c1ec 100644
--- a/rts/sm/GC.h
+++ b/rts/sm/GC.h
@@ -17,11 +17,20 @@
#include "BeginPrivate.h"
-void GarbageCollect (uint32_t collect_gen,
- bool do_heap_census,
- bool is_overflow_gc,
- bool deadlock_detect,
- uint32_t gc_type,
+struct GcConfig {
+ // which generation are we requesting be collected?
+ uint32_t collect_gen;
+ // is a heap census requested?
+ bool do_heap_census;
+ // is this GC triggered by a heap overflow?
+ bool overflow_gc;
+ // is this GC triggered by a deadlock?
+ bool deadlock_detect;
+ // should we use parallel scavenging?
+ bool parallel;
+};
+
+void GarbageCollect (struct GcConfig config,
Capability *cap,
bool idle_cap[]);