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.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/rts/sm/GC.h b/rts/sm/GC.h
new file mode 100644
index 0000000000..519925e452
--- /dev/null
+++ b/rts/sm/GC.h
@@ -0,0 +1,39 @@
+/* -----------------------------------------------------------------------------
+ *
+ * (c) The GHC Team 1998-2006
+ *
+ * Generational garbage collector
+ *
+ * ---------------------------------------------------------------------------*/
+
+#ifndef GC_H
+#define GC_H
+
+extern nat N;
+extern rtsBool major_gc;
+extern nat evac_gen;
+extern rtsBool eager_promotion;
+extern rtsBool failed_to_evac;
+
+extern StgClosure* static_objects;
+extern StgClosure* scavenged_static_objects;
+
+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 lnat new_blocks; // blocks allocated during this GC
+extern lnat new_scavd_blocks; // ditto, but depth-first blocks
+
+#ifdef DEBUG
+extern nat mutlist_MUTVARS, mutlist_MUTARRS, mutlist_OTHERS;
+#endif
+
+StgClosure * isAlive(StgClosure *p);
+
+#endif /* GC_H */