From f9d15f9fccae4706fbdf8ee4ecaef7da9953cb74 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Sun, 29 Nov 2009 16:42:51 +0000 Subject: Store a destination step in the block descriptor At the moment, this just saves a memory reference in the GC inner loop (worth a percent or two of GC time). Later, it will hopefully let me experiment with partial steps, and simplifying the generation/step infrastructure. --- rts/sm/GCUtils.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'rts/sm/GCUtils.c') diff --git a/rts/sm/GCUtils.c b/rts/sm/GCUtils.c index 70c53cb8bf..7e99e29023 100644 --- a/rts/sm/GCUtils.c +++ b/rts/sm/GCUtils.c @@ -269,8 +269,7 @@ alloc_todo_block (step_workspace *ws, nat size) } else { bd = allocBlock_sync(); } - bd->step = ws->step; - bd->gen_no = ws->step->gen_no; + initBdescr(bd, ws->step); bd->flags = BF_EVACUATED; bd->u.scan = bd->free = bd->start; } -- cgit v1.2.1