fix retainer profiling: add missing case for TSO
[ghc-hetmet.git] / rts / LdvProfile.c
index 799d418..c95dd1b 100644 (file)
@@ -98,6 +98,7 @@ processHeapClosureForDead( StgClosure *c )
          'inherently used' cases: do nothing.
        */
     case TSO:
+    case STACK:
     case MVAR_CLEAN:
     case MVAR_DIRTY:
     case MUT_ARR_PTRS_CLEAN:
@@ -142,18 +143,16 @@ processHeapClosureForDead( StgClosure *c )
     case BLACKHOLE:
     case BLOCKING_QUEUE:
     case IND_PERM:
-    case IND_OLDGEN_PERM:
        /*
          'Ingore' cases
        */
-       // Why can we ignore IND/IND_OLDGEN closures? We assume that
+       // Why can we ignore IND closures? We assume that
        // any census is preceded by a major garbage collection, which
-       // IND/IND_OLDGEN closures cannot survive. Therefore, it is no
-       // use considering IND/IND_OLDGEN closures in the meanwhile
+       // IND closures cannot survive. Therefore, it is no
+       // use considering IND closures in the meanwhile
        // because they will perish before the next census at any
        // rate.
     case IND:
-    case IND_OLDGEN:
        // Found a dead closure: record its size
        LDV_recordDead(c, size);
        return size;
@@ -170,6 +169,7 @@ processHeapClosureForDead( StgClosure *c )
        // stack objects
     case UPDATE_FRAME:
     case CATCH_FRAME:
+    case UNDERFLOW_FRAME:
     case STOP_FRAME:
     case RET_DYN:
     case RET_BCO: