Commit 23b73c97 authored by Simon Marlow's avatar Simon Marlow
Browse files

Don't GC sparks for CAFs

We can't tell whether the CAF is actually garbage or not.
parent a2deee06
......@@ -211,15 +211,12 @@ pruneSparkQueue (Capability *cap)
}
} else {
if (INFO_PTR_TO_STRUCT(info)->type == THUNK_STATIC) {
if (*THUNK_STATIC_LINK(spark) != NULL) {
// We can't tell whether a THUNK_STATIC is garbage or not.
// See also Note [STATIC_LINK fields]
// isAlive() also ignores static closures (see GCAux.c)
elements[botInd] = spark; // keep entry (new address)
botInd++;
n++;
} else {
pruned_sparks++; // discard spark
cap->spark_stats.gcd++;
traceEventSparkGC(cap);
}
} else {
pruned_sparks++; // discard spark
cap->spark_stats.fizzled++;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment