From: Simon Marlow Date: Tue, 12 Apr 2011 08:41:01 +0000 (+0100) Subject: isAlive: re-apply the tag if we find a forwarding pointer. This is a X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=commitdiff_plain;h=4f018b471c7c5db858beb508b8430ae4d0621173 isAlive: re-apply the tag if we find a forwarding pointer. This is a real bug, spotted by Marcin Orczyk (thanks!). I'm not sure if it lead to any actual crashes. --- diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c index 7f3968f..12e106b 100644 --- a/rts/sm/GCAux.c +++ b/rts/sm/GCAux.c @@ -79,7 +79,7 @@ isAlive(StgClosure *p) if (IS_FORWARDING_PTR(info)) { // alive! - return (StgClosure*)UN_FORWARDING_PTR(info); + return TAG_CLOSURE(tag,(StgClosure*)UN_FORWARDING_PTR(info)); } info = INFO_PTR_TO_STRUCT(info);