X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FSanity.c;h=82d6add08a0ec51217e4502d3a43a03b4de79f3f;hb=423d477bfecd490de1449c59325c8776f91d7aac;hp=383ef6409c7bc103f72d06121842d9fd095906b3;hpb=1da232fccdd01edac72180682540c4d5b5ba71ea;p=ghc-hetmet.git diff --git a/ghc/rts/Sanity.c b/ghc/rts/Sanity.c index 383ef64..82d6add 100644 --- a/ghc/rts/Sanity.c +++ b/ghc/rts/Sanity.c @@ -1,5 +1,4 @@ /* ----------------------------------------------------------------------------- - * $Id: Sanity.c,v 1.33 2003/04/22 16:25:12 simonmar Exp $ * * (c) The GHC Team, 1998-2001 * @@ -26,7 +25,6 @@ #include "MBlock.h" #include "Storage.h" #include "Schedule.h" -#include "StoragePriv.h" // for END_OF_STATIC_LIST #include "Apply.h" /* ----------------------------------------------------------------------------- @@ -113,21 +111,21 @@ checkStackFrame( StgPtr c ) dyn = r->liveness; p = (P_)(r->payload); - checkSmallBitmap(p,GET_LIVENESS(r->liveness),RET_DYN_BITMAP_SIZE); + checkSmallBitmap(p,RET_DYN_LIVENESS(r->liveness),RET_DYN_BITMAP_SIZE); p += RET_DYN_BITMAP_SIZE + RET_DYN_NONPTR_REGS_SIZE; // skip over the non-pointers - p += GET_NONPTRS(dyn); + p += RET_DYN_NONPTRS(dyn); // follow the ptr words - for (size = GET_PTRS(dyn); size > 0; size--) { + for (size = RET_DYN_PTRS(dyn); size > 0; size--) { checkClosureShallow((StgClosure *)*p); p++; } return sizeofW(StgRetDyn) + RET_DYN_BITMAP_SIZE + RET_DYN_NONPTR_REGS_SIZE + - GET_NONPTRS(dyn) + GET_PTRS(dyn); + RET_DYN_NONPTRS(dyn) + RET_DYN_PTRS(dyn); } case UPDATE_FRAME: @@ -165,18 +163,18 @@ checkStackFrame( StgPtr c ) ret_fun = (StgRetFun *)c; fun_info = get_fun_itbl(ret_fun->fun); size = ret_fun->size; - switch (fun_info->fun_type) { + switch (fun_info->f.fun_type) { case ARG_GEN: checkSmallBitmap((StgPtr)ret_fun->payload, - BITMAP_BITS(fun_info->bitmap), size); + BITMAP_BITS(fun_info->f.bitmap), size); break; case ARG_GEN_BIG: checkLargeBitmap((StgPtr)ret_fun->payload, - (StgLargeBitmap *)fun_info->bitmap, size); + (StgLargeBitmap *)fun_info->f.bitmap, size); break; default: checkSmallBitmap((StgPtr)ret_fun->payload, - BITMAP_BITS(stg_arg_bitmaps[fun_info->fun_type]), + BITMAP_BITS(stg_arg_bitmaps[fun_info->f.fun_type]), size); break; } @@ -355,14 +353,14 @@ checkClosure( StgClosure* p ) fun_info = get_fun_itbl(pap->fun); p = (StgClosure *)pap->payload; - switch (fun_info->fun_type) { + switch (fun_info->f.fun_type) { case ARG_GEN: checkSmallBitmap( (StgPtr)pap->payload, - BITMAP_BITS(fun_info->bitmap), pap->n_args ); + BITMAP_BITS(fun_info->f.bitmap), pap->n_args ); break; case ARG_GEN_BIG: checkLargeBitmap( (StgPtr)pap->payload, - (StgLargeBitmap *)fun_info->bitmap, + (StgLargeBitmap *)fun_info->f.bitmap, pap->n_args ); break; case ARG_BCO: @@ -372,7 +370,7 @@ checkClosure( StgClosure* p ) break; default: checkSmallBitmap( (StgPtr)pap->payload, - BITMAP_BITS(stg_arg_bitmaps[fun_info->fun_type]), + BITMAP_BITS(stg_arg_bitmaps[fun_info->f.fun_type]), pap->n_args ); break; } @@ -610,6 +608,9 @@ checkTSO(StgTSO *tso) case BlockedOnRead: case BlockedOnWrite: case BlockedOnDelay: +#if defined(mingw32_TARGET_OS) + case BlockedOnDoProc: +#endif /* isOnBQ(blocked_queue) */ break; case BlockedOnException: