From: simonmar Date: Fri, 2 Mar 2001 14:36:16 +0000 (+0000) Subject: [project @ 2001-03-02 14:36:16 by simonmar] X-Git-Tag: Approximately_9120_patches~2482 X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=ffaa26145a8142d9a24bfc6b4a8607d94818b812;p=ghc-hetmet.git [project @ 2001-03-02 14:36:16 by simonmar] Add some ASSERT()s so we can catch updates where updatee==target. --- diff --git a/ghc/rts/Storage.h b/ghc/rts/Storage.h index 6311084..2ae12f6 100644 --- a/ghc/rts/Storage.h +++ b/ghc/rts/Storage.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------------- - * $Id: Storage.h,v 1.29 2001/02/11 17:51:08 simonmar Exp $ + * $Id: Storage.h,v 1.30 2001/03/02 14:36:16 simonmar Exp $ * * (c) The GHC Team, 1998-1999 * @@ -169,6 +169,7 @@ recordOldToNewPtrs(StgMutClosure *p) { \ bdescr *bd; \ \ + ASSERT( p1 != p2 ); \ bd = Bdescr((P_)p1); \ if (bd->gen->no == 0) { \ ((StgInd *)p1)->indirectee = p2; \ @@ -176,14 +177,14 @@ recordOldToNewPtrs(StgMutClosure *p) TICK_UPD_NEW_IND(); \ } else { \ if (info != &stg_BLACKHOLE_BQ_info) { \ - { \ + { \ StgInfoTable *inf = get_itbl(p1); \ nat np = inf->layout.payload.ptrs, \ nw = inf->layout.payload.nptrs, i; \ - if (inf->type != THUNK_SELECTOR) { \ + if (inf->type != THUNK_SELECTOR) { \ for (i = np; i < np + nw; i++) { \ ((StgClosure *)p1)->payload[i] = 0; \ - } \ + } \ } \ } \ ACQUIRE_LOCK(&sm_mutex); \ @@ -202,6 +203,7 @@ recordOldToNewPtrs(StgMutClosure *p) */ #define updateWithStaticIndirection(info, p1, p2) \ { \ + ASSERT( p1 != p2 ); \ ASSERT( ((StgMutClosure*)p1)->mut_link == NULL ); \ \ ACQUIRE_LOCK(&sm_mutex); \ @@ -220,6 +222,7 @@ updateWithPermIndirection(const StgInfoTable *info, StgClosure *p1, StgClosure * { bdescr *bd; + ASSERT( p1 != p2 ); \ bd = Bdescr((P_)p1); if (bd->gen->no == 0) { ((StgInd *)p1)->indirectee = p2;