diff options
Diffstat (limited to 'rts/sm')
-rw-r--r-- | rts/sm/Compact.c | 2 | ||||
-rw-r--r-- | rts/sm/Evac.c | 6 | ||||
-rw-r--r-- | rts/sm/GCAux.c | 2 | ||||
-rw-r--r-- | rts/sm/Sanity.c | 2 | ||||
-rw-r--r-- | rts/sm/Scav.c | 21 |
5 files changed, 0 insertions, 33 deletions
diff --git a/rts/sm/Compact.c b/rts/sm/Compact.c index 7eeb90f7ca..fd6c92fdd1 100644 --- a/rts/sm/Compact.c +++ b/rts/sm/Compact.c @@ -664,8 +664,6 @@ thread_obj (StgInfoTable *info, StgPtr p) case IND: case IND_PERM: - case IND_OLDGEN: - case IND_OLDGEN_PERM: thread(&((StgInd *)p)->indirectee); return p + sizeofW(StgInd); diff --git a/rts/sm/Evac.c b/rts/sm/Evac.c index 9577b2d183..61cf10bcbe 100644 --- a/rts/sm/Evac.c +++ b/rts/sm/Evac.c @@ -620,7 +620,6 @@ loop: case FUN: case IND_PERM: - case IND_OLDGEN_PERM: case CONSTR: copy_tag_nolock(p,info,q,sizeW_fromITBL(INFO_PTR_TO_STRUCT(info)),gen,tag); return; @@ -666,7 +665,6 @@ loop: return; case IND: - case IND_OLDGEN: // follow chains of indirections, don't evacuate them q = ((StgInd*)q)->indirectee; *p = q; @@ -971,8 +969,6 @@ selector_loop: switch (info->type) { case IND: case IND_PERM: - case IND_OLDGEN: - case IND_OLDGEN_PERM: case IND_STATIC: val = ((StgInd *)val)->indirectee; goto val_loop; @@ -1006,8 +1002,6 @@ selector_loop: case IND: case IND_PERM: - case IND_OLDGEN: - case IND_OLDGEN_PERM: case IND_STATIC: // Again, we might need to untag a constructor. selectee = UNTAG_CLOSURE( ((StgInd *)selectee)->indirectee ); diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c index 0fb8e1f6c7..cbbb8b636f 100644 --- a/rts/sm/GCAux.c +++ b/rts/sm/GCAux.c @@ -90,8 +90,6 @@ isAlive(StgClosure *p) case IND: case IND_STATIC: case IND_PERM: - case IND_OLDGEN: // rely on compatible layout with StgInd - case IND_OLDGEN_PERM: // follow indirections p = ((StgInd *)q)->indirectee; continue; diff --git a/rts/sm/Sanity.c b/rts/sm/Sanity.c index 2069711baf..a2cdfc0687 100644 --- a/rts/sm/Sanity.c +++ b/rts/sm/Sanity.c @@ -303,8 +303,6 @@ checkClosure( StgClosure* p ) case CONSTR_0_2: case CONSTR_2_0: case IND_PERM: - case IND_OLDGEN: - case IND_OLDGEN_PERM: case BLACKHOLE: case PRIM: case MUT_PRIM: diff --git a/rts/sm/Scav.c b/rts/sm/Scav.c index ae9e81cff5..54bf47cb27 100644 --- a/rts/sm/Scav.c +++ b/rts/sm/Scav.c @@ -550,23 +550,6 @@ scavenge_block (bdescr *bd) } case IND_PERM: - if (bd->gen_no != 0) { -#ifdef PROFILING - // @LDV profiling - // No need to call LDV_recordDead_FILL_SLOP_DYNAMIC() because an - // IND_OLDGEN_PERM closure is larger than an IND_PERM closure. - LDV_recordDead((StgClosure *)p, sizeofW(StgInd)); -#endif - // - // Todo: maybe use SET_HDR() and remove LDV_RECORD_CREATE()? - // - SET_INFO(((StgClosure *)p), &stg_IND_OLDGEN_PERM_info); - - // We pretend that p has just been created. - LDV_RECORD_CREATE((StgClosure *)p); - } - // fall through - case IND_OLDGEN_PERM: case BLACKHOLE: evacuate(&((StgInd *)p)->indirectee); p += sizeofW(StgInd); @@ -896,8 +879,6 @@ scavenge_mark_stack(void) break; case IND: - case IND_OLDGEN: - case IND_OLDGEN_PERM: case BLACKHOLE: evacuate(&((StgInd *)p)->indirectee); break; @@ -1284,8 +1265,6 @@ scavenge_one(StgPtr p) // IND can happen, for example, when the interpreter allocates // a gigantic AP closure (more than one block), which ends up // on the large-object list and then gets updated. See #3424. - case IND_OLDGEN: - case IND_OLDGEN_PERM: case BLACKHOLE: case IND_STATIC: evacuate(&((StgInd *)p)->indirectee); |