[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 8 commits: rts: expose HeapAlloc.h as public header

Marge Bot (@marge-bot) gitlab at gitlab.haskell.org
Thu Mar 7 13:48:32 UTC 2024



Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
dedcf102 by Cheng Shao at 2024-03-06T13:39:04-05:00
rts: expose HeapAlloc.h as public header

This commit exposes HeapAlloc.h as a public header. The intention is
to expose HEAP_ALLOCED/HEAP_ALLOCED_GC, so they can be used in
assertions in other public headers, and they may also be useful for
user code.

- - - - -
d19441d7 by Cheng Shao at 2024-03-06T13:39:04-05:00
rts: assert pointer is indeed heap allocated in Bdescr()

This commit adds an assertion to Bdescr() to assert the pointer is
indeed heap allocated. This is useful to rule out RTS bugs that
attempt to access non-existent block descriptor of a static closure, #24492
being one such example.

- - - - -
9a656a04 by Ben Gamari at 2024-03-06T13:39:39-05:00
ghc-experimental: Add dummy dependencies to work around #23942

This is a temporary measure to improve CI reliability until a proper
solution is developed.

Works around #23942.

- - - - -
1e84b924 by Simon Peyton Jones at 2024-03-06T13:39:39-05:00
Three compile perf improvements with deep nesting

These were changes are all triggered by #24471.

1. Make GHC.Core.Opt.SetLevels.lvlMFE behave better when there are
   many free variables.  See Note [Large free-variable sets].

2. Make GHC.Core.Opt.Arity.floatIn a bit lazier in its Cost argument.
   This benefits the common case where the ArityType turns out to
   be nullary. See Note [Care with nested expressions]

3. Make GHC.CoreToStg.Prep.cpeArg behave for deeply-nested
   expressions.  See Note [Eta expansion of arguments in CorePrep]
   wrinkle (EA2).

Compile times go down by up to 4.5%, and much more in artificial
cases. (Geo mean of compiler/perf changes is -0.4%.)

Metric Decrease:
    CoOpt_Read
    T10421
    T12425

- - - - -
c4b13113 by Hécate Moonlight at 2024-03-06T13:40:17-05:00
Use "module" instead of "library" when applicable in base haddocks

- - - - -
9cd9efb4 by Vladislav Zavialov at 2024-03-07T13:01:54+03:00
Rephrase error message to say "visible arguments" (#24318)

* Main change: make the error message generated by mkFunTysMsg more
  accurate by changing "value arguments" to "visible arguments".

* Refactor: define a new type synonym VisArity and use it instead of
  Arity in a few places.

It might be the case that there other places in the compiler that should
talk about visible arguments rather than value arguments, but I haven't
tried to find them all, focusing only on the error message reported in
the ticket.

- - - - -
4d2878c5 by Ben Gamari at 2024-03-07T08:48:27-05:00
rts: Drop .wasm suffix from .prof file names

This replicates the behavior on Windows, where `Hi.exe` will produce
profiling output named `Hi.prof` instead of `Hi.exe.prof`.

While in the area I also fixed the extension-stripping logic, which
incorrectly rewrote `Hi.exefoo` to `Hi.foo`.

Closes #24515.

- - - - -
bc6d3a0d by Cheng Shao at 2024-03-07T08:48:27-05:00
testsuite: drop exe extension from .hp & .prof filenames

See #24515 for details.

- - - - -


30 changed files:

- compiler/GHC/Core/Opt/Arity.hs
- compiler/GHC/Core/Opt/SetLevels.hs
- compiler/GHC/CoreToStg/Prep.hs
- compiler/GHC/Tc/Gen/Match.hs
- compiler/GHC/Tc/Utils/Unify.hs
- compiler/GHC/Types/Basic.hs
- libraries/base/src/Control/Concurrent.hs
- libraries/base/src/Control/Monad.hs
- libraries/base/src/Control/Monad/ST.hs
- libraries/base/src/Control/Monad/ST/Safe.hs
- libraries/base/src/Control/Monad/ST/Unsafe.hs
- libraries/base/src/Data/Version.hs
- libraries/base/src/GHC/IO/Encoding/UTF16.hs
- libraries/base/src/GHC/TypeNats.hs
- libraries/base/src/System/Console/GetOpt.hs
- libraries/base/src/System/IO.hs
- libraries/base/src/System/Mem/Weak.hs
- libraries/base/src/System/Posix/Internals.hs
- libraries/base/src/Text/ParserCombinators/ReadP.hs
- libraries/base/src/Text/ParserCombinators/ReadPrec.hs
- libraries/base/src/Text/Read.hs
- libraries/ghc-experimental/src/Data/Sum/Experimental.hs
- libraries/ghc-experimental/src/Data/Tuple/Experimental.hs
- rts/ProfHeap.c
- rts/Profiling.c
- rts/RtsUtils.c
- rts/RtsUtils.h
- rts/Sparks.c
- rts/include/rts/storage/Block.h
- rts/sm/HeapAlloc.h → rts/include/rts/storage/HeapAlloc.h


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5a1dd7cba418cf0866db91cd81fa45f2445c93ec...bc6d3a0de722e1080b0e7aa916fe9ba1ea332e64

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5a1dd7cba418cf0866db91cd81fa45f2445c93ec...bc6d3a0de722e1080b0e7aa916fe9ba1ea332e64
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240307/993f49cd/attachment.html>


More information about the ghc-commits mailing list