X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSanity.c;h=48d913c46ea54ae629e2c51c5ee5966740b167f3;hb=fe07f054d7ae5e10b14d5fed730fe4424dabd587;hp=33ec988106b164efb3d3097e46b2c85e3775d02c;hpb=a0be7e7ccd602efd9b7d35b3e0747a2c4f155ce9;p=ghc-hetmet.git diff --git a/rts/Sanity.c b/rts/Sanity.c index 33ec988..48d913c 100644 --- a/rts/Sanity.c +++ b/rts/Sanity.c @@ -447,19 +447,36 @@ checkClosure( StgClosure* p ) #endif - case TVAR_WAIT_QUEUE: + case TVAR_WATCH_QUEUE: { - StgTVarWaitQueue *wq = (StgTVarWaitQueue *)p; + StgTVarWatchQueue *wq = (StgTVarWatchQueue *)p; ASSERT(LOOKS_LIKE_CLOSURE_PTR(wq->next_queue_entry)); ASSERT(LOOKS_LIKE_CLOSURE_PTR(wq->prev_queue_entry)); - return sizeofW(StgTVarWaitQueue); + return sizeofW(StgTVarWatchQueue); + } + + case INVARIANT_CHECK_QUEUE: + { + StgInvariantCheckQueue *q = (StgInvariantCheckQueue *)p; + ASSERT(LOOKS_LIKE_CLOSURE_PTR(q->invariant)); + ASSERT(LOOKS_LIKE_CLOSURE_PTR(q->my_execution)); + ASSERT(LOOKS_LIKE_CLOSURE_PTR(q->next_queue_entry)); + return sizeofW(StgInvariantCheckQueue); + } + + case ATOMIC_INVARIANT: + { + StgAtomicInvariant *invariant = (StgAtomicInvariant *)p; + ASSERT(LOOKS_LIKE_CLOSURE_PTR(invariant->code)); + ASSERT(LOOKS_LIKE_CLOSURE_PTR(invariant->last_execution)); + return sizeofW(StgAtomicInvariant); } case TVAR: { StgTVar *tv = (StgTVar *)p; ASSERT(LOOKS_LIKE_CLOSURE_PTR(tv->current_value)); - ASSERT(LOOKS_LIKE_CLOSURE_PTR(tv->first_wait_queue_entry)); + ASSERT(LOOKS_LIKE_CLOSURE_PTR(tv->first_watch_queue_entry)); return sizeofW(StgTVar); }