summaryrefslogtreecommitdiff
path: root/rts/sm
diff options
context:
space:
mode:
Diffstat (limited to 'rts/sm')
-rw-r--r--rts/sm/Compact.c2
-rw-r--r--rts/sm/Evac.c6
-rw-r--r--rts/sm/GCAux.c2
-rw-r--r--rts/sm/Sanity.c2
-rw-r--r--rts/sm/Scav.c21
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);