make the smp way RTS-only, normal libraries now work with -smp
[ghc-hetmet.git] / ghc / rts / ProfHeap.c
index 85ae9fd..a50f2f0 100644 (file)
@@ -156,7 +156,8 @@ static char *type_names[] = {
     , "MUT_ARR_PTRS_CLEAN"
     , "MUT_ARR_PTRS_DIRTY"
     , "MUT_ARR_PTRS_FROZEN"
-    , "MUT_VAR"
+    , "MUT_VAR_CLEAN"
+    , "MUT_VAR_DIRTY"
 
     , "WEAK"
   
@@ -388,7 +389,7 @@ printSample(rtsBool beginSample, StgDouble sampleValue)
     fractionalPart = modf(sampleValue, &integralPart);
     fprintf(hp_file, "%s %d.%02d\n",
             (beginSample ? "BEGIN_SAMPLE" : "END_SAMPLE"),
-            (int)integralPart, (int)(fractionalPart * 100 + 0.5));
+            (int)integralPart, (int)(fractionalPart * 100));
 }
 
 /* --------------------------------------------------------------------------
@@ -519,8 +520,6 @@ static void
 fprint_ccs(FILE *fp, CostCentreStack *ccs, nat max_length)
 {
     char buf[max_length+1], *p, *buf_end;
-    nat next_offset = 0;
-    nat written;
 
     // MAIN on its own gets printed as "MAIN", otherwise we ignore MAIN.
     if (ccs == CCS_MAIN) {
@@ -552,8 +551,6 @@ fprint_ccs(FILE *fp, CostCentreStack *ccs, nat max_length)
        if (p >= buf_end) {
            sprintf(buf+max_length-4, "...");
            break;
-       } else {
-           next_offset += written;
        }
     }
     fprintf(fp, "%s", buf);
@@ -873,13 +870,13 @@ heapCensusChain( Census *census, bdescr *bd )
            case THUNK_1_1:
            case THUNK_0_2:
            case THUNK_2_0:
-               size = sizeofW(StgHeader) + stg_max(MIN_UPD_SIZE,2);
+               size = sizeofW(StgThunkHeader) + 2;
                break;
 
            case THUNK_1_0:
            case THUNK_0_1:
            case THUNK_SELECTOR:
-               size = sizeofW(StgHeader) + stg_max(MIN_UPD_SIZE,1);
+               size = sizeofW(StgThunkHeader) + 1;
                break;
 
            case CONSTR:
@@ -905,7 +902,7 @@ heapCensusChain( Census *census, bdescr *bd )
            case CONSTR_2_0:
                size = sizeW_fromITBL(info);
                break;
-               
+
            case IND:
                // Special case/Delicate Hack: INDs don't normally
                // appear, since we're doing this heap census right
@@ -925,7 +922,8 @@ heapCensusChain( Census *census, bdescr *bd )
            case MVAR:
            case WEAK:
            case STABLE_NAME:
-           case MUT_VAR:
+           case MUT_VAR_CLEAN:
+           case MUT_VAR_DIRTY:
                prim = rtsTrue;
                size = sizeW_fromITBL(info);
                break;