Wrap gcc on Windows, to provide the -B flags
[ghc-hetmet.git] / rts / LdvProfile.c
index 6a807cf..b5c0e63 100644 (file)
@@ -9,10 +9,11 @@
 
 #ifdef PROFILING
 
+#include "PosixSource.h"
 #include "Rts.h"
-#include "LdvProfile.h"
-#include "RtsFlags.h"
+
 #include "Profiling.h"
+#include "LdvProfile.h"
 #include "Stats.h"
 #include "RtsUtils.h"
 #include "Schedule.h"
@@ -179,11 +180,6 @@ processHeapClosureForDead( StgClosure *c )
     case RET_SMALL:
     case RET_BIG:
        // others
-    case BLOCKED_FETCH:
-    case FETCH_ME:
-    case FETCH_ME_BQ:
-    case RBH:
-    case REMOTE_REF:
     case INVALID_OBJECT:
     default:
        barf("Invalid object in processHeapClosureForDead(): %d", info->type);
@@ -266,7 +262,9 @@ processChainForDead( bdescr *bd )
 {
     // Any object still in the chain is dead!
     while (bd != NULL) {
-       processHeapClosureForDead((StgClosure *)bd->start);
+        if (!(bd->flags & BF_PINNED)) {
+            processHeapClosureForDead((StgClosure *)bd->start);
+        }
        bd = bd->link;
     }
 }