Enable DTrace on Solaris; based on a patch from Karel Gardas
[ghc-hetmet.git] / rts / Sparks.c
index 93f6417..8579212 100644 (file)
@@ -71,9 +71,10 @@ newSpark (StgRegTable *reg, StgClosure *p)
 
     if (closure_SHOULD_SPARK(p)) {
         pushWSDeque(pool,p);
-    }  
-
-    cap->sparks_created++;
+        cap->sparks_created++;
+    } else {
+        cap->sparks_dud++;
+    }
 
     return 1;
 }
@@ -206,21 +207,21 @@ pruneSparkQueue (Capability *cap)
               n++;
           } else {
               pruned_sparks++; // discard spark
-              cap->sparks_pruned++;
+              cap->sparks_fizzled++;
           }
       } else if (HEAP_ALLOCED(spark) && 
-                 (Bdescr(spark)->flags & BF_EVACUATED)) {
+                 (Bdescr((P_)spark)->flags & BF_EVACUATED)) {
           if (closure_SHOULD_SPARK(spark)) {
               elements[botInd] = spark; // keep entry (new address)
               botInd++;
               n++;
           } else {
               pruned_sparks++; // discard spark
-              cap->sparks_pruned++;
+              cap->sparks_fizzled++;
           }
       } else {
           pruned_sparks++; // discard spark
-          cap->sparks_pruned++;
+          cap->sparks_gcd++;
       }
 
       currInd++;