X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FPrinter.c;h=6ab4b7e0684e97a40c25a1d04a576522d7145c5d;hb=0a4162ac3cda41ef43b0e1ece4b6042327b8556c;hp=1b6e57eae6341efd533ee393a26dd1e8cb780a8d;hpb=a5288c551349a0adab0d931a429b10a096d9444d;p=ghc-hetmet.git diff --git a/rts/Printer.c b/rts/Printer.c index 1b6e57e..6ab4b7e 100644 --- a/rts/Printer.c +++ b/rts/Printer.c @@ -160,6 +160,12 @@ printClosure( StgClosure *obj ) printStdObjPayload(obj); break; + case PRIM: + debugBelch("PRIM("); + printPtr((StgPtr)obj->header.info); + printStdObjPayload(obj); + break; + case THUNK: case THUNK_1_0: case THUNK_0_1: case THUNK_1_1: case THUNK_0_2: case THUNK_2_0: @@ -227,26 +233,20 @@ printClosure( StgClosure *obj ) debugBelch(")\n"); break; - case IND_OLDGEN: - debugBelch("IND_OLDGEN("); - printPtr((StgPtr)((StgInd*)obj)->indirectee); - debugBelch(")\n"); - break; - case IND_PERM: debugBelch("IND("); printPtr((StgPtr)((StgInd*)obj)->indirectee); debugBelch(")\n"); break; - case IND_OLDGEN_PERM: - debugBelch("IND_OLDGEN_PERM("); + case IND_STATIC: + debugBelch("IND_STATIC("); printPtr((StgPtr)((StgInd*)obj)->indirectee); debugBelch(")\n"); break; - case IND_STATIC: - debugBelch("IND_STATIC("); + case BLACKHOLE: + debugBelch("BLACKHOLE("); printPtr((StgPtr)((StgInd*)obj)->indirectee); debugBelch(")\n"); break; @@ -290,14 +290,6 @@ printClosure( StgClosure *obj ) break; } - case CAF_BLACKHOLE: - debugBelch("CAF_BH"); - break; - - case BLACKHOLE: - debugBelch("BH\n"); - break; - case ARR_WORDS: { StgWord i; @@ -356,10 +348,6 @@ printClosure( StgClosure *obj ) /* ToDo: chase 'link' ? */ break; - case STABLE_NAME: - debugBelch("STABLE_NAME(%lu)\n", (lnat)((StgStableName*)obj)->sn); - break; - case TSO: debugBelch("TSO("); debugBelch("%lu (%p)",(unsigned long)(((StgTSO*)obj)->id), (StgTSO*)obj); @@ -943,7 +931,7 @@ findPtrBlocks (StgPtr p, bdescr *bd, StgPtr arr[], int arr_size, int i) void findPtr(P_ p, int follow) { - nat s, g; + nat g; bdescr *bd; #if defined(__GNUC__) const int arr_size = 1024; @@ -955,13 +943,11 @@ findPtr(P_ p, int follow) searched = 0; for (g = 0; g < RtsFlags.GcFlags.generations; g++) { - for (s = 0; s < generations[g].n_steps; s++) { - bd = generations[g].steps[s].blocks; - i = findPtrBlocks(p,bd,arr,arr_size,i); - bd = generations[g].steps[s].large_objects; - i = findPtrBlocks(p,bd,arr,arr_size,i); - if (i >= arr_size) return; - } + bd = generations[g].blocks; + i = findPtrBlocks(p,bd,arr,arr_size,i); + bd = generations[g].large_objects; + i = findPtrBlocks(p,bd,arr,arr_size,i); + if (i >= arr_size) return; } if (follow && i == 1) { debugBelch("-->\n"); @@ -996,9 +982,7 @@ void prettyPrintClosure_ (StgClosure *obj) while (type == IND || type == IND_STATIC || - type == IND_OLDGEN || - type == IND_PERM || - type == IND_OLDGEN_PERM) + type == IND_PERM) { obj = ((StgInd *)obj)->indirectee; type = get_itbl(obj)->type; @@ -1110,9 +1094,7 @@ char *closure_type_names[] = { [PAP] = "PAP", [AP_STACK] = "AP_STACK", [IND] = "IND", - [IND_OLDGEN] = "IND_OLDGEN", [IND_PERM] = "IND_PERM", - [IND_OLDGEN_PERM] = "IND_OLDGEN_PERM", [IND_STATIC] = "IND_STATIC", [RET_BCO] = "RET_BCO", [RET_SMALL] = "RET_SMALL", @@ -1122,8 +1104,8 @@ char *closure_type_names[] = { [UPDATE_FRAME] = "UPDATE_FRAME", [CATCH_FRAME] = "CATCH_FRAME", [STOP_FRAME] = "STOP_FRAME", - [CAF_BLACKHOLE] = "CAF_BLACKHOLE", [BLACKHOLE] = "BLACKHOLE", + [BLOCKING_QUEUE] = "BLOCKING_QUEUE", [MVAR_CLEAN] = "MVAR_CLEAN", [MVAR_DIRTY] = "MVAR_DIRTY", [ARR_WORDS] = "ARR_WORDS", @@ -1134,14 +1116,10 @@ char *closure_type_names[] = { [MUT_VAR_CLEAN] = "MUT_VAR_CLEAN", [MUT_VAR_DIRTY] = "MUT_VAR_DIRTY", [WEAK] = "WEAK", - [STABLE_NAME] = "STABLE_NAME", + [PRIM] = "PRIM", + [MUT_PRIM] = "MUT_PRIM", [TSO] = "TSO", - [TVAR_WATCH_QUEUE] = "TVAR_WATCH_QUEUE", - [INVARIANT_CHECK_QUEUE] = "INVARIANT_CHECK_QUEUE", - [ATOMIC_INVARIANT] = "ATOMIC_INVARIANT", - [TVAR] = "TVAR", [TREC_CHUNK] = "TREC_CHUNK", - [TREC_HEADER] = "TREC_HEADER", [ATOMICALLY_FRAME] = "ATOMICALLY_FRAME", [CATCH_RETRY_FRAME] = "CATCH_RETRY_FRAME", [CATCH_STM_FRAME] = "CATCH_STM_FRAME",