[Git][ghc/ghc][wip/freebsd-ci] 22 commits: compiler: Eliminate two uses of foldr in favor of foldl'

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Mon Aug 8 03:50:25 UTC 2022



Ben Gamari pushed to branch wip/freebsd-ci at Glasgow Haskell Compiler / GHC


Commits:
c0348865 by Ben Gamari at 2022-08-06T11:45:17-04:00
compiler: Eliminate two uses of foldr in favor of foldl'

These two uses constructed maps, which is a case where foldl' is
generally more efficient since we avoid constructing an intermediate
O(n)-depth stack.

- - - - -
d2e4e123 by Ben Gamari at 2022-08-06T11:45:17-04:00
rts: Fix code style

- - - - -
57f530d3 by Ben Gamari at 2022-08-06T11:45:17-04:00
genprimopcode: Drop ArrayArray# references

As ArrayArray# no longer exists

- - - - -
7267cd52 by Ben Gamari at 2022-08-06T11:45:17-04:00
base: Organize Haddocks in GHC.Conc.Sync

- - - - -
aa818a9f by Ben Gamari at 2022-08-06T11:48:50-04:00
Add primop to list threads

A user came to #ghc yesterday wondering how best to check whether they
were leaking threads. We ended up using the eventlog but it seems to me
like it would be generally useful if Haskell programs could query their
own threads.

- - - - -
6d1700b6 by Ben Gamari at 2022-08-06T11:51:35-04:00
rts: Move thread labels into TSO

This eliminates the thread label HashTable and instead tracks this
information in the TSO, allowing us to use proper StgArrBytes arrays for
backing the label and greatly simplifying management of object lifetimes
when we expose them to the user with the coming `threadLabel#` primop.

- - - - -
1472044b by Ben Gamari at 2022-08-06T11:54:52-04:00
Add a primop to query the label of a thread

- - - - -
43f2b271 by Ben Gamari at 2022-08-06T11:55:14-04:00
base: Share finalization thread label

For efficiency's sake we float the thread label assigned to the
finalization thread to the top-level, ensuring that we only need to
encode the label once.

- - - - -
1d63b4fb by Ben Gamari at 2022-08-06T11:57:11-04:00
users-guide: Add release notes entry for thread introspection support

- - - - -
09bca1de by Ben Gamari at 2022-08-07T01:19:35-04:00
hadrian: Fix binary distribution install attributes

Previously we would use plain `cp` to install various parts of the
binary distribution. However, `cp`'s behavior w.r.t. file attributes is
quite unclear; for this reason it is much better to rather use
`install`.

Fixes #21965.

- - - - -
2b8ea16d by Ben Gamari at 2022-08-07T01:19:35-04:00
hadrian: Fix installation of system-cxx-std-lib package conf

- - - - -
7b514848 by Ben Gamari at 2022-08-07T01:20:10-04:00
gitlab-ci: Bump Docker images

To give the ARMv7 job access to lld, fixing #21875.

- - - - -
afa584a3 by Ben Gamari at 2022-08-07T05:08:52-04:00
hadrian: Don't use mk/config.mk.in

Ultimately we want to drop mk/config.mk so here I extract the bits
needed by the Hadrian bindist installation logic into a Hadrian-specific
file. While doing this I fixed binary distribution installation, #21901.

- - - - -
b9bb45d7 by Ben Gamari at 2022-08-07T05:08:52-04:00
hadrian: Fix naming of cross-compiler wrappers

- - - - -
78d04cfa by Ben Gamari at 2022-08-07T11:44:58-04:00
hadrian: Extend xattr Darwin hack to cover /lib

As noted in #21506, it is now necessary to remove extended attributes
from `/lib` as well as `/bin` to avoid SIP issues on Darwin.

Fixes #21506.

- - - - -
d43cdc7e by Ben Gamari at 2022-08-07T23:35:29-04:00
gitlab-ci: Fix a few unbound variable issues

- - - - -
21409a1d by Ben Gamari at 2022-08-07T23:35:29-04:00
rts/linker: Resolve iconv_* on FreeBSD

FreeBSD's libiconv includes an implementation of the
iconv_* functions in libc. Unfortunately these can
only be resolved using dlvsym, which is how the RTS linker
usually resolves such functions. To fix this we include an ad-hoc
special case for iconv_*.

Fixes #20354.

- - - - -
e48399b3 by Ben Gamari at 2022-08-07T23:39:55-04:00
system-cxx-std-lib: Add support for FreeBSD libcxxrt

- - - - -
4d6cb626 by Ben Gamari at 2022-08-07T23:40:24-04:00
gitlab-ci: Bump to use freebsd13 runners

- - - - -
17697399 by Ben Gamari at 2022-08-07T23:41:06-04:00
XXX: Bump up freebsd job

- - - - -
7a3f8aad by Ben Gamari at 2022-08-07T23:49:49-04:00
gitlab-ci: Use cabal-install-3.6.2.0 on FreeBSD

- - - - -
640f6978 by Ben Gamari at 2022-08-07T23:50:01-04:00
gitlab-ci: XXX temporary GHC bindist on FreeBSD

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab/ci.sh
- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/Builtin/primops.txt.pp
- compiler/GHC/Cmm/DebugBlock.hs
- compiler/GHC/Cmm/Sink.hs
- compiler/GHC/StgToCmm/Prim.hs
- distrib/configure.ac.in
- docs/users_guide/9.6.1-notes.rst
- hadrian/bindist/Makefile
- + hadrian/bindist/config.mk.in
- hadrian/src/Packages.hs
- hadrian/src/Rules/BinaryDist.hs
- libraries/base/GHC/Conc.hs
- libraries/base/GHC/Conc/Sync.hs
- libraries/base/GHC/Conc/Sync.hs-boot
- libraries/base/GHC/Weak/Finalize.hs
- libraries/base/changelog.md
- libraries/base/tests/all.T
- + libraries/base/tests/listThreads.hs
- + libraries/base/tests/listThreads.stdout
- libraries/ghc-prim/changelog.md
- m4/fp_find_cxx_std_lib.m4
- rts/Heap.c
- rts/Linker.c
- rts/PrimOps.cmm
- rts/RtsStartup.c
- rts/RtsSymbols.c
- rts/Schedule.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/48d748a26f71be43d6bd60db01a99b2435490cfd...640f6978e1cd13136bd6360e38f94e2d528b8b85

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/48d748a26f71be43d6bd60db01a99b2435490cfd...640f6978e1cd13136bd6360e38f94e2d528b8b85
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/20220807/d1f17ae4/attachment-0001.html>


More information about the ghc-commits mailing list