Skip to content
Snippets Groups Projects
  1. Feb 06, 2025
    • Cheng Shao's avatar
      rts: drop stale mentions of MIN_UPD_SIZE · ab2617a4
      Cheng Shao authored
      We used to have MIN_UPD_SIZE macro that describes the minimum reserved
      size for thunks, so that the thunk can be overwritten in place as
      indirections or blackholes. However, this macro has not been actually
      defined or used anywhere since a long time ago; StgThunkHeader already
      reserves a padding word for this purpose. Hence this patch which drops
      stale mentions of MIN_UPD_SIZE.
      
      (cherry picked from commit c1e3719c)
      (cherry picked from commit 8d9efe4d)
      ab2617a4
  2. Jan 27, 2025
  3. Jan 16, 2025
    • Luite Stegeman's avatar
      Add flags for switching off speculative evaluation. · b44c46a2
      Luite Stegeman authored
      We found that speculative evaluation can increase the amount of
      allocations in some circumstances. This patch adds new flags for
      selectively disabling speculative evaluation, allowing us to
      test the effect of the optimization.
      
      The new flags are:
      
        -fspec-eval
           globally enable speculative evaluation
      
        -fspec-eval-dictfun
           enable speculative evaluation for dictionary functions (no effect
           if speculative evaluation is globally disabled)
      
      The new flags are on by default for all optimisation levels.
      
      See #25284
      
      (cherry picked from commit 23099752)
      b44c46a2
    • ARATA Mizuki's avatar
      Fix LLVM version detection · 9f9a3b26
      ARATA Mizuki authored and Luite Stegeman's avatar Luite Stegeman committed
      With a recent LLVM, `llc -version` emits the version on the first line
      if the vendor is set.  It emits the version on the second line
      otherwise.
      
      Therefore, we need to check the both lines to detect the version.
      
      GHC now emits a warning if it fails to detect the LLVM version,
      so we can notice if the output of `llc -version` changes in the future.
      
      Also, the warning for using LLVM < 10 on s390x is removed, because
      we assume LLVM >= 13 now.
      
      This fixes the definition of __GLASGOW_HASKELL_LLVM__ macro.
      
      Fixes #25606
      
      (cherry picked from commit a928c326)
      9f9a3b26
    • Ben Gamari's avatar
      rts: Determine max_n_capabilities at RTS startup · 258c0cf5
      Ben Gamari authored and Luite Stegeman's avatar Luite Stegeman committed
      Previously the maximum number of capabilities supported by the RTS was
      statically capped at 256. However, this bound is uncomfortably low given
      the size of today's machine.
      
      While supporting unbounded, fully-dynamic adjustment would be nice, it
      is complex and so instead we do something simpler: Probe the logical
      core count at RTS startup and use this as the static bound for the rest
      of our execution.
      
      This should avoid users running into the capability limit on large
      machines while avoiding wasting memory on a large capabilities array for
      most users and keeping complexity at bay.
      
      Addresses #25560.
      
      (cherry picked from commit 71f050b7)
      258c0cf5
    • Ben Gamari's avatar
      rts: Mention maximum capability count in users guide · 5c86fbe7
      Ben Gamari authored and Luite Stegeman's avatar Luite Stegeman committed
      Addresses #25560.
      
      (cherry picked from commit 06265655)
      5c86fbe7
    • mimi.vx's avatar
      Update rdt-theme to latest upstream version · b4856589
      mimi.vx authored and Luite Stegeman's avatar Luite Stegeman committed
      Fixes ghc/ghc#23444
      
      (cherry picked from commit 70526f5b)
      b4856589
  4. Jun 30, 2024
  5. Jun 25, 2024
  6. Apr 15, 2024
  7. Apr 02, 2024
  8. Jan 03, 2024
  9. Dec 18, 2023
  10. Sep 20, 2023
  11. Sep 19, 2023
  12. Sep 13, 2023
  13. May 23, 2023
  14. May 16, 2023
  15. May 11, 2023
  16. Mar 10, 2023
  17. Mar 09, 2023
  18. Mar 07, 2023
  19. Mar 02, 2023
    • Ben Gamari's avatar
      docs/relnotes: Mention -fprefer-byte-code · fbc98e66
      Ben Gamari authored
      Closes #23027.
      fbc98e66
    • Ben Gamari's avatar
      nativeGen: Disable asm-shortcutting on Darwin · cbdc5d51
      Ben Gamari authored
      Asm-shortcutting may produce relative references to symbols defined in
      other compilation units. This is not something that MachO relocations
      support (see #21972). For this reason we disable the optimisation on
      Darwin. We do so without a warning since this flag is enabled by `-O2`.
      
      Another way to address this issue would be to rather implement a
      PLT-relocatable jump-table strategy. However, this would only benefit
      Darwin and does not seem worth the effort.
      
      Closes #21972.
      
      (cherry picked from commit 8bed166b)
      cbdc5d51
  20. Feb 22, 2023
    • Alexis King's avatar
      rts: Fix `prompt#` when profiling is enabled · 88b18b0f
      Alexis King authored and Ben Gamari's avatar Ben Gamari committed
      This commit also adds a new -Dk RTS option to the debug RTS to assist
      debugging continuation captures. Currently, the printed information is
      quite minimal, but more can be added in the future if it proves to be
      useful when debugging future issues.
      
      fixes #23001
      
      (cherry picked from commit e5794ede)
      88b18b0f
  21. Feb 20, 2023
Loading