X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=rts%2FProfHeap.c;h=39b64d4c5126f484c584504477c433d7e714591a;hp=15337d4585067649ee7f265f9f83d92a1f3f6e1d;hb=890f22ef8eff8dbb5b31fa221dfce65a7b84c202;hpb=214b3663d5d7598c13643f9221e43d5a7735b47f diff --git a/rts/ProfHeap.c b/rts/ProfHeap.c index 15337d4..39b64d4 100644 --- a/rts/ProfHeap.c +++ b/rts/ProfHeap.c @@ -876,10 +876,8 @@ heapCensusChain( Census *census, bdescr *bd ) case CONSTR: case FUN: case IND_PERM: - case IND_OLDGEN: - case IND_OLDGEN_PERM: - case CAF_BLACKHOLE: case BLACKHOLE: + case BLOCKING_QUEUE: case FUN_1_0: case FUN_0_1: case FUN_1_1: @@ -912,7 +910,8 @@ heapCensusChain( Census *census, bdescr *bd ) case MVAR_CLEAN: case MVAR_DIRTY: case WEAK: - case STABLE_NAME: + case PRIM: + case MUT_PRIM: case MUT_VAR_CLEAN: case MUT_VAR_DIRTY: prim = rtsTrue; @@ -948,44 +947,35 @@ heapCensusChain( Census *census, bdescr *bd ) prim = rtsTrue; #ifdef PROFILING if (RtsFlags.ProfFlags.includeTSOs) { - size = tso_sizeW((StgTSO *)p); + size = sizeofW(StgTSO); break; } else { // Skip this TSO and move on to the next object - p += tso_sizeW((StgTSO *)p); + p += sizeofW(StgTSO); continue; } #else - size = tso_sizeW((StgTSO *)p); + size = sizeofW(StgTSO); break; #endif - case TREC_HEADER: + case STACK: prim = rtsTrue; - size = sizeofW(StgTRecHeader); +#ifdef PROFILING + if (RtsFlags.ProfFlags.includeTSOs) { + size = stack_sizeW((StgStack*)p); + break; + } else { + // Skip this TSO and move on to the next object + p += stack_sizeW((StgStack*)p); + continue; + } +#else + size = stack_sizeW((StgStack*)p); break; +#endif - case TVAR_WATCH_QUEUE: - prim = rtsTrue; - size = sizeofW(StgTVarWatchQueue); - break; - - case INVARIANT_CHECK_QUEUE: - prim = rtsTrue; - size = sizeofW(StgInvariantCheckQueue); - break; - - case ATOMIC_INVARIANT: - prim = rtsTrue; - size = sizeofW(StgAtomicInvariant); - break; - - case TVAR: - prim = rtsTrue; - size = sizeofW(StgTVar); - break; - - case TREC_CHUNK: + case TREC_CHUNK: prim = rtsTrue; size = sizeofW(StgTRecChunk); break;