Skip to content
Snippets Groups Projects
  1. Dec 04, 2024
  2. Dec 03, 2024
    • Rodrigo Mesquita's avatar
      Refactor ModuleGraph interface · f7cbffe2
      Rodrigo Mesquita authored and Marge Bot's avatar Marge Bot committed
      The 'ModuleGraph' abstraction represents the relationship and strucutre
      of the modules being compiled. This structure is meant to be constructed
      once at the start of compilation, and never changed again.
      
      However, it's exposed interface was confusing and exposed too many
      footguns which led to inneficient usages of the ModuleGraph. This commit
      improves significantly the exported interface of ModuleGraph, taking
      into consideration the recent improvements around reachability queries.
      
      Since the ModuleGraph graphs and related structures (HPT, EPS) are
      performance critical in the sense that somewhat simple mistakes can
      cause bad leaks and non-linear memory usage, we want to have proper APIs
      that guide efficient usage. This is a good step in that direction.
      f7cbffe2
    • Rodrigo Mesquita's avatar
      Improve haddock of graphReachabilityCyclic · 01d213b5
      Rodrigo Mesquita authored and Marge Bot's avatar Marge Bot committed
      01d213b5
    • Rodrigo Mesquita's avatar
      mg: Drop unnecessary HasCallStack · 03851b64
      Rodrigo Mesquita authored and Marge Bot's avatar Marge Bot committed
      This HasCallStack was a debugging artifact from a previous commit.
      03851b64
    • Simon Hengel's avatar
      SysTools: Avoid race conditions when processing output (fixes #16450) · f98b3ac0
      Simon Hengel authored and Marge Bot's avatar Marge Bot committed
      f98b3ac0
    • Ben Gamari's avatar
      rts/linker: Clarify debug output · 20912f5b
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      20912f5b
    • Ben Gamari's avatar
      rts/linker: Fix out-of-bounds mapping logic · 292ed74e
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Previously the structure of `mmapInRegion` concealed a subtle bug
      concerning handling of `mmap` returning mappings below the beginning of
      the desired region. Specifically, we would reset `p = result + bytes`
      and then again reset `p = region->start` before looping around for
      another iteration. This resulted in an infinite loop on FreeBSD.
      
      Fixes #25492.
      292ed74e
    • sheaf's avatar
      Hadrian: use / when making filepaths absolute · f813c8d7
      sheaf authored and Marge Bot's avatar Marge Bot committed
      In Hadrian, we are careful to use -/- rather than </>, in order to use
      / instead of \ in filepaths. However, this gets ruined by the use of
      makeAbsolute from System.Directory, which, on Windows, changes back
      forward slashes to backslashes.
      f813c8d7
    • sheaf's avatar
      Remove TcRnDeprecatedInvisTyArgInConPat mechanism · 5b4774f9
      sheaf authored
      The combination of ScopedTypeVariables + TypeApplications now no longer
      enables the use of type applications in constructor patterns, as per
      GHC proposal #448.
      
      This completes the deprecation that begun with GHC 9.8.
      
      We also remove the -Wdeprecated-type-abstractions flag, which was
      introduced in GHC 9.10.
      5b4774f9
  3. Nov 28, 2024
  4. Nov 27, 2024
    • Ben Gamari's avatar
      base: Fix incorrect mentions of GHC.Internal.Numeric · c3fc9b86
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      These were incorrectly changed by the automated refactoring of the
      `ghc-internal` migration.
      
      Fixes #25521.
      c3fc9b86
    • Ben Gamari's avatar
      rts: Allow ExecPage to allocate anywhere in address space · a104508d
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Currently the ExecPage facility has two users:
      
       * GHCi, for constructing info tables, and
       * the adjustor allocation path
      
      Despite neither of these have any spatial locality constraints ExecPage
      was using the linker's `mmapAnonForLinker`, which tries hard to ensure
      that mappings end up nearby the executable image. This makes adjustor
      allocation needlessly subject to fragmentation concerns.
      
      We now instead return less constrained mappings, improving the
      robustness of the mechanism.
      
      Addresses #25503.
      a104508d
    • Ben Gamari's avatar
      ghc-toolchain: Introduce basic flag validation · bf3db97e
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      We verify that required flags (currently `--output` and `--triple`) are
      provided. The implementation is truly awful, but so is getopt.
      
      Begins to address #25500.
      bf3db97e
    • Andreas Klebinger's avatar
      Cmm constant folding: Narrow results to operations bitwidth. · df42ba16
      Andreas Klebinger authored and Marge Bot's avatar Marge Bot committed
      When constant folding ensure the result is still within bounds
      for the given type by explicitly narrowing the results.
      
      Not doing so results in a lot of spurious assembler warnings
      especially when testing primops.
      df42ba16
  5. Nov 26, 2024
  6. Nov 25, 2024
  7. Nov 23, 2024
Loading