X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FProfHeap.c;h=db9e41fa18a45c7c3d773e1046dab73953086a87;hb=0d88de0b114a391712bc117d42928b49fba4d66a;hp=ed5dc36009408a8300e9769aa32bcd328b5cc6e4;hpb=23e5985c3db852981d527d10d6a6271688049790;p=ghc-hetmet.git diff --git a/rts/ProfHeap.c b/rts/ProfHeap.c index ed5dc36..db9e41f 100644 --- a/rts/ProfHeap.c +++ b/rts/ProfHeap.c @@ -217,7 +217,6 @@ closureIdentity( StgClosure *p ) case CONSTR_0_2: case CONSTR_STATIC: case CONSTR_NOCAF_STATIC: - printf("",strlen(GET_CON_DESC(itbl_to_con_itbl(info)))); return GET_CON_DESC(itbl_to_con_itbl(info)); default: return type_names[info->type]; @@ -343,8 +342,12 @@ initEra(Census *census) STATIC_INLINE void freeEra(Census *census) { - arenaFree(census->arena); - freeHashTable(census->hash, NULL); + if (RtsFlags.ProfFlags.bioSelector != NULL) + // when bioSelector==NULL, these are freed in heapCensus() + { + arenaFree(census->arena); + freeHashTable(census->hash, NULL); + } } /* -------------------------------------------------------------------------- @@ -454,12 +457,8 @@ initHeapProfiling(void) era = 0; } - { // max_era = 2^LDV_SHIFT - nat p; - max_era = 1; - for (p = 0; p < LDV_SHIFT; p++) - max_era *= 2; - } + // max_era = 2^LDV_SHIFT + max_era = 1 << LDV_SHIFT; n_censuses = 32; censuses = stgMallocBytes(sizeof(Census) * n_censuses, "initHeapProfiling");