Skip to content
Snippets Groups Projects
  1. Jan 25, 2022
  2. Jan 19, 2022
  3. Jan 18, 2022
    • Sergey Vinokurov's avatar
      Improve detection of lld linker · 21510698
      Sergey Vinokurov authored and Marge Bot's avatar Marge Bot committed
      Newer lld versions may include vendor info in --version output and
      thus the version string may not start with ‘LLD’.
      
      Fixes #20907
      21510698
    • Matthew Pickering's avatar
      Add note about heap invariant · 01254ceb
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      Closed #20904
      01254ceb
    • Ben Gamari's avatar
      rts/winio: Fix #18382 · 5a6efd21
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Here we refactor WinIO's IO completion scheme, squashing a memory leak
      and fixing #18382.
      To fix #18382 we drop the special thread status introduced for IoPort
      blocking, BlockedOnIoCompletion, as well as drop the non-threaded RTS's
      special dead-lock detection logic (which is redundant to the GC's
      deadlock detection logic), as proposed in #20947.
      
      Previously WinIO relied on foreign import ccall "wrapper" to create an
      adjustor thunk which can be attached to the OVERLAPPED structure passed
      to the operating system. It would then use foreign import ccall
      "dynamic" to back out the original continuation from the adjustor. This
      roundtrip is significantly more expensive than the alternative, using a
      StablePtr. Furthermore, the implementation let the adjustor leak,
      meaning that every IO request would leak a page of memory.
      
      Fixes T18382.
      5a6efd21
    • Sebastian Graf's avatar
      Stricten the Strict State monad · 2d205154
      Sebastian Graf authored and Marge Bot's avatar Marge Bot committed
      I found it weird that most of the combinators weren't actually strict. Making
      `pure` strict in the state should hopefully give Nested CPR an easier time to
      unbox the nested state.
      2d205154
    • Matthew Pickering's avatar
      Add test for using type families with static pointers · 7ec783de
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      Issue was reported on #13306
      7ec783de
    • Matthew Pickering's avatar
      Correct type of static forms in hsExprType · 310424d0
      Matthew Pickering authored and Marge Bot's avatar Marge Bot committed
      The simplest way to do this seemed to be to persist the whole type in
      the extension field from the typechecker so that the few relevant places
      
       * Desugaring can work out the return type by splitting this type rather
         than calling `dsExpr` (slightly more efficient).
       * hsExprType can just return the correct type.
       * Zonking has to now zonk the type as well
      
      The other option we considered was wiring in StaticPtr but that is
      actually quite tricky because StaticPtr refers to StaticPtrInfo which
      has field selectors (which we can't easily wire in).
      
      Fixes #20150
      310424d0
    • Jens Petersen's avatar
      hadrian BinaryDist: version ghc in ghciScriptWrapper · 18c797b8
      Jens Petersen authored and Marge Bot's avatar Marge Bot committed
      like we do for the non-Hadrian wrapper script.
      Otherwise if $bindir/ghc is a different ghc version then versioned ghci will incorrectly run the other ghc version instead.
      (Normally this would only happen if there are parallel ghc versions installed in bindir.)
      All the other wrapper scripts already have versioned executablename
      18c797b8
  4. Jan 17, 2022
  5. Jan 15, 2022
    • Eric Lindblad's avatar
      wikipedia link · 4031ef62
      Eric Lindblad authored
      4031ef62
    • Tamar Christina's avatar
      winio: fix heap corruption and various leaks. · 0dc72395
      Tamar Christina authored and Marge Bot's avatar Marge Bot committed
      0dc72395
    • Ben Gamari's avatar
      rts: Consolidate RtsSymbols from libc · e2b60be8
      Ben Gamari authored and Marge Bot's avatar Marge Bot committed
      Previously (9ebda74e) `environ` was
      added to `RtsSymbols` to ensure that environment was correctly
      propagated when statically linking. However, this introduced #20577
      since platforms are inconsistent in whether they provide a prototype for
      `environ`. I fixed this by providing a prototype but while doing so
      dropped symbol-table entry, presumably thinking that it was redundant
      due to the entry in the mingw-specific table.
      
      Here I reintroduce the symbol table entry for `environ` and move libc
      symbols shared by Windows and Linux into a new macro,
      `RTS_LIBC_SYMBOLS`, avoiding this potential confusion.
      e2b60be8
  6. Jan 14, 2022
  7. Jan 13, 2022
  8. Jan 12, 2022
Loading