Add assertion of the invariant for the spark counters
authorDuncan Coutts <duncan@well-typed.com>
Thu, 2 Jun 2011 16:28:56 +0000 (17:28 +0100)
committerDuncan Coutts <duncan@well-typed.com>
Mon, 18 Jul 2011 15:31:14 +0000 (16:31 +0100)
commitddb47a91da7132da2303c60a5aff4e38fb2dcf1a
tree0c46f1cc36738bf769005837fd555ad772dd5a95
parent1be80fdb6a8e993141a3bdd4cb71cd40f693018e
Add assertion of the invariant for the spark counters

The invariant is: created = converted + remaining + gcd + fizzled
Since sparks move between capabilities, we have to aggregate the
counters over all capabilities. This in turn means we can only check
the invariant at stable points where all but one capabilities are
stopped. We can do this at shutdown time and before and after a global
synchronised GC.
rts/Capability.c
rts/Capability.h
rts/Schedule.c