X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FUpdates.h;fp=ghc%2Frts%2FUpdates.h;h=33d7d258e64e16928403af0b9602b155686ab8b1;hb=23063210f135e72b3f4b3ae0c4f4d52e5f75e3b4;hp=7b0dc3a3d52c31d539a915bf3598277f2c053d16;hpb=ba6c51f0f1aa2187dcf5d44371cda910a24d8a84;p=ghc-hetmet.git diff --git a/ghc/rts/Updates.h b/ghc/rts/Updates.h index 7b0dc3a..33d7d25 100644 --- a/ghc/rts/Updates.h +++ b/ghc/rts/Updates.h @@ -263,13 +263,11 @@ DEBUG_FILL_SLOP(StgClosure *p) #define updateWithIndirection(ind_info, p1, p2, and_then) \ W_ bd; \ \ - StgInd_indirectee(p1) = p2; \ -/* ASSERT( p1 != p2 && !closure_IND(p1) ); \ - */ LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(p1); \ -/* foreign "C" cas(p1 "ptr", 0, stg_WHITEHOLE_info); \ - */ bd = Bdescr(p1); \ + DEBUG_FILL_SLOP(p1); \ + StgInd_indirectee(p1) = p2; \ + LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(p1); \ + bd = Bdescr(p1); \ if (bdescr_gen_no(bd) != 0 :: CInt) { \ - DEBUG_FILL_SLOP(p1); \ foreign "C" recordMutableCap(p1 "ptr", \ MyCapability() "ptr", \ bdescr_gen_no(bd)); \ @@ -278,7 +276,7 @@ DEBUG_FILL_SLOP(StgClosure *p) TICK_UPD_OLD_IND(); \ and_then; \ } else { \ - SET_INFO(p1, ind_info); \ + SET_INFO(p1, ind_info); \ LDV_RECORD_CREATE(p1); \ TICK_UPD_NEW_IND(); \ and_then; \ @@ -290,11 +288,11 @@ DEBUG_FILL_SLOP(StgClosure *p) \ /* cas(p1, 0, &stg_WHITEHOLE_info); */ \ ASSERT( (P_)p1 != (P_)p2 && !closure_IND(p1) ); \ - ((StgInd *)p1)->indirectee = p2; \ + DEBUG_FILL_SLOP(p1); \ LDV_RECORD_DEAD_FILL_SLOP_DYNAMIC(p1); \ + ((StgInd *)p1)->indirectee = p2; \ bd = Bdescr((P_)p1); \ if (bd->gen_no != 0) { \ - DEBUG_FILL_SLOP(p1); \ recordMutableGenLock(p1, &generations[bd->gen_no]); \ SET_INFO(p1, &stg_IND_OLDGEN_info); \ TICK_UPD_OLD_IND(); \