X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSanity.c;h=3df5aef413cdf29b3341ff1936cdb05cbb56381f;hb=27de38efce6d73d2a0209f803cfa98c82773e773;hp=b8bf5d41832798b7547ecd5b76b6bde7c9eba482;hpb=200c73fdfea734765c48309cc8dcbcf44b69c8c5;p=ghc-hetmet.git diff --git a/rts/Sanity.c b/rts/Sanity.c index b8bf5d4..3df5aef 100644 --- a/rts/Sanity.c +++ b/rts/Sanity.c @@ -257,7 +257,13 @@ checkClosure( StgClosure* p ) ASSERT(!closure_STATIC(p)); } - info = get_itbl(p); + info = p->header.info; + + if (IS_FORWARDING_PTR(info)) { + barf("checkClosure: found EVACUATED closure %d", info->type); + } + info = INFO_PTR_TO_STRUCT(info); + switch (info->type) { case MVAR_CLEAN: @@ -506,10 +512,6 @@ checkClosure( StgClosure* p ) return sizeofW(StgTRecHeader); } - - case EVACUATED: - barf("checkClosure: found EVACUATED closure %d", - info->type); default: barf("checkClosure (closure type %d)", info->type); }