Skip to content
Snippets Groups Projects
  1. Mar 09, 2024
  2. Mar 08, 2024
    • Ben Gamari's avatar
      rts: Fix SET_HDR initialization of retainer set · 38a4b6ab
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      This fixes a regression in retainer set profiling introduced by
      b0293f78. Prior to that commit
      the heap traversal word would be initialized by `SET_HDR` using
      `LDV_RECORD_CREATE`. However, the commit added a `doingLDVProfiling`
      check in `LDV_RECORD_CREATE`, meaning that this initialization no longer
      happened.
      
      Given that this initialization was awkwardly indirectly anyways, I have
      fixed this by explicitly initializating the heap traversal word to
      `NULL` in `SET_PROF_HDR`. This is equivalent to the previous behavior,
      but much more direct.
      
      Fixes #24513.
      38a4b6ab
  3. Mar 06, 2024
  4. Mar 01, 2024
    • Torsten Schmits's avatar
      Introduce ListTuplePuns extension · d91d00fc
      Torsten Schmits authored and Marge Bot's avatar Marge Bot committed
      This implements Proposal 0475, introducing the `ListTuplePuns` extension
      which is enabled by default.
      
      Disabling this extension makes it invalid to refer to list, tuple and
      sum type constructors by using built-in syntax like `[Int]`,
      `(Int, Int)`, `(# Int#, Int# #)` or `(# Int | Int #)`.
      Instead, this syntax exclusively denotes data constructors for use with
      `DataKinds`.
      The conventional way of referring to these data constructors by
      prefixing them with a single quote (`'(Int, Int)`) is now a parser
      error.
      
      Tuple declarations have been moved to `GHC.Tuple.Prim` and the `Solo`
      data constructor has been renamed to `MkSolo` (in a previous commit).
      Unboxed tuples and sums now have real source declarations in `GHC.Types`.
      Unit and solo types for tuples are now called `Unit`, `Unit#`, `Solo`
      and `Solo#`.
      Constraint tuples now have the unambiguous type constructors `CTuple<n>`
      as well as `CUnit` and `CSolo`, defined in `GHC.Classes` like before.
      
      A new parser construct has been added for the unboxed sum data
      constructor declarations.
      
      The type families `Tuple`, `Sum#` etc. that were intended to provide
      nicer syntax have been omitted from this change set due to inference
      problems, to be implemented at a later time.
      See the MR discussion for more info.
      
      Updates the submodule utils/haddock.
      Updates the cabal submodule due to new language extension.
      
          Metric Increase:
              haddock.base
      
          Metric Decrease:
              MultiLayerModulesTH_OneShot
              size_hello_artifact
      
      Proposal document: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0475-tuple-syntax.rst
      
      Merge request: ghc/ghc!8820
      
      Tracking ticket: ghc/ghc#21294
      d91d00fc
  5. Feb 28, 2024
    • Teo Camarasu's avatar
      rts: avoid checking bdescr of value outside of Haskell heap · 74b24a9b
      Teo Camarasu authored and Teo Camarasu's avatar Teo Camarasu committed
      In nonmovingTidyWeaks we want to check if the key of a weak pointer
      lives in the non-moving heap. We do this by checking the flags of the
      block the key lives in. But we need to be careful with values that live
      outside the Haskell heap, since they will lack a block descriptor and
      looking for one may lead to a segfault. In this case we should just
      accept that it isn't on the non-moving heap.
      
      Resolves #24492
      74b24a9b
  6. Feb 27, 2024
  7. Feb 25, 2024
  8. Feb 21, 2024
  9. Feb 17, 2024
  10. Feb 14, 2024
  11. Feb 13, 2024
Loading