bdescr * blocks; // blocks in this step
unsigned int n_blocks; // number of blocks
+ unsigned int n_words; // number of words
struct step_ * to; // destination step for live objects
unsigned int n_old_blocks; // number of blocks in from-space
bdescr * todos; // blocks waiting to be scavenged
+ bdescr * todos_last;
unsigned int n_todos; // count of above
+ bdescr * part_blocks; // partially-full scanned blocks
+ unsigned int n_part_blocks; // count of above
+
bdescr * scavenged_large_objects; // live large objs after GC (d-link)
unsigned int n_scavenged_large_blocks; // size (not count) of above
extern step * RTS_VAR(g0s0);
extern generation * RTS_VAR(oldest_gen);
extern step * RTS_VAR(all_steps);
-extern nat total_steps;
+extern nat RTS_VAR(total_steps);
/* -----------------------------------------------------------------------------
Initialisation / De-initialisation