X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Frts%2FPrinter.c;h=a9f087ba1ee106d05b9f30e424888040b85fc643;hb=2322bc9a89a9d8a6132a6818ccff6f665d7ed7f1;hp=b454b46da4976fe392ef32862f96552dd2e63e98;hpb=1efc2d9cddec8ee6c1d25e64931bd7f1e185898c;p=ghc-hetmet.git diff --git a/ghc/rts/Printer.c b/ghc/rts/Printer.c index b454b46..a9f087b 100644 --- a/ghc/rts/Printer.c +++ b/ghc/rts/Printer.c @@ -327,34 +327,22 @@ printClosure( StgClosure *obj ) putchar(arrWordsGetChar(obj,i)); } */ for (i=0; i<((StgArrWords *)obj)->words; i++) - debugBelch("%lu", ((StgArrWords *)obj)->payload[i]); + debugBelch("%lu", (lnat)((StgArrWords *)obj)->payload[i]); debugBelch("\")\n"); break; } - case MUT_ARR_PTRS: - debugBelch("MUT_ARR_PTRS(size=%ld)\n", ((StgMutArrPtrs *)obj)->ptrs); + case MUT_ARR_PTRS_CLEAN: + debugBelch("MUT_ARR_PTRS_CLEAN(size=%lu)\n", (lnat)((StgMutArrPtrs *)obj)->ptrs); break; - case MUT_ARR_PTRS_FROZEN: -#if !defined(XMLAMBDA) - debugBelch("MUT_ARR_PTRS_FROZEN(size=%ld)\n", ((StgMutArrPtrs *)obj)->ptrs); + case MUT_ARR_PTRS_DIRTY: + debugBelch("MUT_ARR_PTRS_DIRTY(size=%lu)\n", (lnat)((StgMutArrPtrs *)obj)->ptrs); break; -#else - { - /* rows are mutarrays in xmlambda, maybe we should make a new type: ROW */ - StgWord i; - StgMutArrPtrs* p = stgCast(StgMutArrPtrs*,obj); - debugBelch("Row<%i>(",p->ptrs); - for (i = 0; i < p->ptrs; ++i) { - if (i > 0) debugBelch(", "); - printPtr((StgPtr)(p->payload[i])); - } - debugBelch(")\n"); - break; - } -#endif + case MUT_ARR_PTRS_FROZEN: + debugBelch("MUT_ARR_PTRS_FROZEN(size=%lu)\n", (lnat)((StgMutArrPtrs *)obj)->ptrs); + break; case MVAR: { @@ -363,10 +351,17 @@ printClosure( StgClosure *obj ) break; } - case MUT_VAR: + case MUT_VAR_CLEAN: { StgMutVar* mv = (StgMutVar*)obj; - debugBelch("MUT_VAR(var=%p)\n", mv->var); + debugBelch("MUT_VAR_CLEAN(var=%p)\n", mv->var); + break; + } + + case MUT_VAR_DIRTY: + { + StgMutVar* mv = (StgMutVar*)obj; + debugBelch("MUT_VAR_DIRTY(var=%p)\n", mv->var); break; } @@ -380,14 +375,8 @@ printClosure( StgClosure *obj ) /* ToDo: chase 'link' ? */ break; - case FOREIGN: - debugBelch("FOREIGN("); - printPtr((StgPtr)( ((StgForeignObj*)obj)->data )); - debugBelch(")\n"); - break; - case STABLE_NAME: - debugBelch("STABLE_NAME(%ld)\n", ((StgStableName*)obj)->sn); + debugBelch("STABLE_NAME(%lu)\n", (lnat)((StgStableName*)obj)->sn); break; case TSO: @@ -504,12 +493,12 @@ printSmallBitmap( StgPtr spBottom, StgPtr payload, StgWord bitmap, nat size ) p = payload; for(i = 0; i < size; i++, bitmap >>= 1 ) { - debugBelch(" stk[%ld] (%p) = ", spBottom-(payload+i), payload+i); + debugBelch(" stk[%ld] (%p) = ", (long)(spBottom-(payload+i)), payload+i); if ((bitmap & 1) == 0) { printPtr((P_)payload[i]); debugBelch("\n"); } else { - debugBelch("Word# %ld\n", payload[i]); + debugBelch("Word# %lu\n", (lnat)payload[i]); } } } @@ -525,12 +514,12 @@ printLargeBitmap( StgPtr spBottom, StgPtr payload, StgLargeBitmap* large_bitmap, StgWord bitmap = large_bitmap->bitmap[bmp]; j = 0; for(; i < size && j < BITS_IN(W_); j++, i++, bitmap >>= 1 ) { - debugBelch(" stk[%ld] (%p) = ", spBottom-(payload+i), payload+i); + debugBelch(" stk[%lu] (%p) = ", (lnat)(spBottom-(payload+i)), payload+i); if ((bitmap & 1) == 0) { printPtr((P_)payload[i]); debugBelch("\n"); } else { - debugBelch("Word# %ld\n", payload[i]); + debugBelch("Word# %lu\n", (lnat)payload[i]); } } } @@ -710,9 +699,11 @@ static char *closure_type_names[] = { "SE_CAF_BLACKHOLE", "MVAR", "ARR_WORDS", - "MUT_ARR_PTRS", + "MUT_ARR_PTRS_CLEAN", + "MUT_ARR_PTRS_DIRTY", "MUT_ARR_PTRS_FROZEN", - "MUT_VAR", + "MUT_VAR_CLEAN", + "MUT_VAR_DIRTY", "MUT_CONS", "WEAK", "FOREIGN",