X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FRetainerProfile.c;h=f75250659cebb9b6806c77c0a98dbaa8095ab7de;hp=2613b9e4bce455953b4a56a583a9e8ccb4c4727e;hb=refs%2Ftags%2FBefore_type_family_merge;hpb=6015a94f9108a502150565577b66c23650796639 diff --git a/rts/RetainerProfile.c b/rts/RetainerProfile.c index 2613b9e..f752506 100644 --- a/rts/RetainerProfile.c +++ b/rts/RetainerProfile.c @@ -364,8 +364,7 @@ find_srt( stackPos *info ) bitmap = info->next.srt.srt_bitmap; while (bitmap != 0) { if ((bitmap & 1) != 0) { -#ifdef ENABLE_WIN32_DLL_SUPPORT - +#if defined(__PIC__) && defined(mingw32_TARGET_OS) if ((unsigned long)(*(info->next.srt.srt)) & 0x1) c = (* (StgClosure **)((unsigned long)*(info->next.srt.srt)) & ~0x1); else @@ -1440,7 +1439,7 @@ retainStack( StgClosure *c, retainer c_child_r, StgFunInfoTable *fun_info; retainClosure(ret_fun->fun, c, c_child_r); - fun_info = get_fun_itbl(ret_fun->fun); + fun_info = get_fun_itbl(UNTAG_CLOSURE(ret_fun->fun)); p = (P_)&ret_fun->payload; switch (fun_info->f.fun_type) {