Skip to content
Snippets Groups Projects
  1. Jun 27, 2019
    • Roland Senn's avatar
      Improve doc for :type-at. (#14780) · c1f67887
      Roland Senn authored and Marge Bot's avatar Marge Bot committed
      c1f67887
    • Matthew Pickering's avatar
      rts: Do not traverse nursery for dead closures in LDV profile · 07cffc49
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      It is important that `heapCensus` and `LdvCensusForDead` traverse the
      same areas.
      
      `heapCensus` increases the `not_used` counter which tracks how many
      closures are live but haven't been used yet.
      
      `LdvCensusForDead` increases the `void_total` counter which tracks how
      many dead closures there are.
      
      The `LAG` is then calculated by substracting the `void_total` from
      `not_used` and so it is essential that `not_used >= void_total`. This
      fact is checked by quite a few assertions.
      
      However, if a program has low maximum residency but allocates a lot in
      the nursery then these assertions were failing (see #16753 and #15903)
      because `LdvCensusForDead` was observing dead closures from the nursery
      which totalled more than the `not_used`. The same closures were not
      counted by `heapCensus`.
      
      Therefore, it seems that the correct fix is to make `LdvCensusForDead`
      agree with `heapCensus` and not traverse the nursery for dead closures.
      
      Fixes #16100 #16753 #15903 #8982
      07cffc49
    • Matthew Pickering's avatar
      rts: Correct assertion in LDV_recordDead · ed4cbd93
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      It is possible that void_total is exactly equal to not_used and the
      other assertions for this check for <= rather than <.
      ed4cbd93
    • Matthew Pickering's avatar
      rts: Correct handling of LARGE ARR_WORDS in LDV profiler · a586b33f
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      This implements the correct fix for #11627 by skipping over the slop
      (which is zeroed) rather than adding special case logic for LARGE
      ARR_WORDS which runs the risk of not performing a correct census by
      ignoring any subsequent blocks.
      
      This approach implements similar logic to that in Sanity.c
      a586b33f
  2. Jun 26, 2019
  3. Jun 25, 2019
  4. Jun 24, 2019
  5. Jun 23, 2019
    • Ryan Scott's avatar
      Refactor UnliftedNewtypes-relation kind signature validity checks · 9bbcc3be
      Ryan Scott authored and Marge Bot's avatar Marge Bot committed
      This fixes three infelicities related to the programs that are
      (and aren't) accepted with `UnliftedNewtypes`:
      
      * Enabling `UnliftedNewtypes` would permit newtypes to have return
        kind `Id Type`, which had disastrous results (i.e., GHC panics).
      * Data family declarations ending in kind `TYPE r` (for some `r`)
        weren't being accepted if `UnliftedNewtypes` wasn't enabled,
        despite the GHC proposal specifying otherwise.
      * GHC wasn't warning about programs that _would_ typecheck if
        `UnliftedNewtypes` were enabled in certain common cases.
      
      As part of fixing these issues, I factored out the logic for checking
      all of the various properties about data type/data family return
      kinds into a single `checkDataKindSig` function. I also cleaned up
      some of the formatting in the existing error message that gets
      thrown.
      
      Fixes #16821, fixes #16827, and fixes #16829.
      9bbcc3be
    • Ben Gamari's avatar
      ghci: Load static objects in batches · 5a502cd1
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Previously in the case where GHC was dynamically linked we would load
      static objects one-by-one by linking each into its own shared object and
      dlopen'ing each in order. However, this meant that the link would fail
      in the event that the objects had cyclic symbol dependencies.
      
      Here we fix this by merging each "run" of static objects into a single
      shared object and loading this.
      
      Fixes #13786 for the case where GHC is dynamically linked.
      5a502cd1
    • Ben Gamari's avatar
      testsuite: Test for #13786 · ade3db53
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      ade3db53
  6. Jun 22, 2019
Loading