diff options
Diffstat (limited to 'rts/Stable.c')
-rw-r--r-- | rts/Stable.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/rts/Stable.c b/rts/Stable.c index 0ed18bcec2..a6b8ddf738 100644 --- a/rts/Stable.c +++ b/rts/Stable.c @@ -195,9 +195,11 @@ removeIndirections(StgClosure* p) get_itbl(q)->type == IND_OLDGEN || get_itbl(q)->type == IND_PERM || get_itbl(q)->type == IND_OLDGEN_PERM ) { + q = ((StgInd *)q)->indirectee; tag = GET_CLOSURE_TAG(q); - q = UNTAG_CLOSURE(((StgInd *)q)->indirectee); + q = UNTAG_CLOSURE(q); } + return TAG_CLOSURE(tag,q); } |