Skip to content
  • Simon Marlow's avatar
    Retain ordering of finalizers during GC (#7160) · cec899d9
    Simon Marlow authored
    This came up since the addition of C finalizers, since Haskell
    finalizers are already stored in an explicit list.  C finalizers on
    the other hand get a WEAK object each, so in order to run them in the
    right order we have to make sure that list stays in the correct
    order.  I hate adding new invariants, but this is the quickest way to
    fix the bug for now.  A better way to fix it would be to have a single
    WEAK object with a list of finaliers attached to it, and a primop
    for adding finalizers to the list.
    cec899d9