move the scan block pointer into the gct structure
[ghc-hetmet.git] / rts / sm / GC.h
index 5a9cb98..62a4872 100644 (file)
@@ -76,9 +76,6 @@ typedef struct step_workspace_ {
     step * step;               // the step for this workspace 
     struct gc_thread_ * gct;    // the gc_thread that contains this workspace
 
-    // block that is currently being scanned
-    bdescr *     scan_bd;
-
     // where objects to be scavenged go
     bdescr *     todo_bd;
     StgPtr       todo_free;            // free ptr for todo_bd
@@ -126,7 +123,10 @@ typedef struct gc_thread_ {
     StgClosure* static_objects;      // live static objects
     StgClosure* scavenged_static_objects;   // static objects scavenged so far
 
-    lnat gc_count;                 // number of gc's this thread has done
+    lnat gc_count;                 // number of GCs this thread has done
+
+    // block that is currently being scanned
+    bdescr *     scan_bd;
 
     // --------------------
     // evacuate flags
@@ -157,6 +157,7 @@ typedef struct gc_thread_ {
     // stats
 
     lnat copied;
+    lnat scanned;
     lnat any_work;
     lnat no_work;
     lnat scav_find_work;