X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2Fsm%2FScav.c;h=0de029edd5a871197234cc9bf2b893e8ad76c9a6;hb=955789f4fdc14d77063703d9d174353e6d9425a2;hp=dce83ede026c7a74412cae1b63f329f06f918852;hpb=cb3cb473854e815784375ad23cc5081621a95ce8;p=ghc-hetmet.git diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index dce83ed..0de029e 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -4,6 +4,11 @@ * * Generational garbage collector: scavenging functions * + * Documentation on the architecture of the Garbage Collector can be + * found in the online commentary: + * + * http://hackage.haskell.org/trac/ghc/wiki/Commentary/Rts/Storage/GC + * * ---------------------------------------------------------------------------*/ #include "Rts.h" @@ -406,7 +411,6 @@ scavenge(step *stp) bco->instrs = (StgArrWords *)evacuate((StgClosure *)bco->instrs); bco->literals = (StgArrWords *)evacuate((StgClosure *)bco->literals); bco->ptrs = (StgMutArrPtrs *)evacuate((StgClosure *)bco->ptrs); - bco->itbls = (StgArrWords *)evacuate((StgClosure *)bco->itbls); p += bco_sizeW(bco); break; } @@ -787,7 +791,6 @@ linear_scan: bco->instrs = (StgArrWords *)evacuate((StgClosure *)bco->instrs); bco->literals = (StgArrWords *)evacuate((StgClosure *)bco->literals); bco->ptrs = (StgMutArrPtrs *)evacuate((StgClosure *)bco->ptrs); - bco->itbls = (StgArrWords *)evacuate((StgClosure *)bco->itbls); break; } @@ -1646,7 +1649,6 @@ scavenge_stack(StgPtr p, StgPtr stack_end) case STOP_FRAME: case CATCH_FRAME: case RET_SMALL: - case RET_VEC_SMALL: bitmap = BITMAP_BITS(info->i.layout.bitmap); size = BITMAP_SIZE(info->i.layout.bitmap); // NOTE: the payload starts immediately after the info-ptr, we @@ -1675,7 +1677,6 @@ scavenge_stack(StgPtr p, StgPtr stack_end) // large bitmap (> 32 entries, or > 64 on a 64-bit machine) case RET_BIG: - case RET_VEC_BIG: { nat size;