From: Simon Marlow Date: Wed, 4 Jun 2008 10:54:58 +0000 (+0000) Subject: fix pointer tagging bug in removeIndirections (fixes stableptr003) X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=ddd8dea08710d6ddefb40d7fb216080119bf3bbf fix pointer tagging bug in removeIndirections (fixes stableptr003) --- diff --git a/rts/Stable.c b/rts/Stable.c index 0ed18bc..a6b8ddf 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); }