[Git][ghc/ghc][wip/unloading-fixes] 16 commits: rts: Post ticky entry counts to the eventlog

Ben Gamari gitlab at gitlab.haskell.org
Fri Nov 27 17:31:33 UTC 2020



Ben Gamari pushed to branch wip/unloading-fixes at Glasgow Haskell Compiler / GHC


Commits:
7e93ae8b by Ben Gamari at 2020-11-21T13:13:29-05:00
rts: Post ticky entry counts to the eventlog

We currently only post the entry counters, not the other global
counters as in my experience the former are more useful. We use the heap
profiler's census period to decide when to dump.

Also spruces up the documentation surrounding ticky-ticky a bit.

- - - - -
bc9c3916 by Ben Gamari at 2020-11-22T06:28:10-05:00
Implement -ddump-c-backend argument

To dump output of the C backend.

- - - - -
901bc220 by Ben Gamari at 2020-11-22T12:39:02-05:00
Bump time submodule to 1.11.1

Also bumps directory, Cabal, hpc, time, and unix submodules.

Closes #18847.

- - - - -
92c0afbf by Ben Gamari at 2020-11-22T12:39:38-05:00
hadrian: Dump STG when ticky is enabled

This changes the "ticky" modifier to enable dumping of final STG as this
is generally needed to make sense of the ticky profiles.

- - - - -
d23fef68 by Ben Gamari at 2020-11-22T12:39:38-05:00
hadrian: Introduce notion of flavour transformers

This extends Hadrian's notion of "flavour", as described in #18942.

- - - - -
179d0bec by Ben Gamari at 2020-11-22T12:39:38-05:00
hadrian: Add a viaLlvmBackend modifier

Note that this also slightly changes the semantics of these flavours as
we only use LLVM for >= stage1 builds.

- - - - -
d4d95e51 by Ben Gamari at 2020-11-22T12:39:38-05:00
hadrian: Add profiled_ghc and no_dynamic_ghc modifiers

- - - - -
6815603f by Ben Gamari at 2020-11-22T12:39:38-05:00
hadrian: Drop redundant flavour definitions

Drop the profiled, LLVM, and ThreadSanitizer flavour definitions as
these can now be realized with flavour transformers.

- - - - -
f88f4339 by Ben Gamari at 2020-11-24T02:43:20-05:00
rts: Flush eventlog buffers from flushEventLog

As noted in #18043, flushTrace failed flush anything beyond the writer.
This means that a significant amount of data sitting in capability-local
event buffers may never get flushed, despite the users' pleads for us to
flush.

Fix this by making flushEventLog flush all of the event buffers before
flushing the writer.

Fixes #18043.

- - - - -
7c03cc50 by Ben Gamari at 2020-11-24T02:43:55-05:00
gitlab-ci: Run LLVM job on appropriately-labelled MRs

Namely, those marked with the ~"LLVM backend" label

- - - - -
9b95d815 by Ben Gamari at 2020-11-24T02:43:55-05:00
gitlab-ci: Run LLVM builds on Debian 10

The current Debian 9 image doesn't provide LLVM 7.

- - - - -
2ed3e6c0 by Ben Gamari at 2020-11-24T02:43:55-05:00
CmmToLlvm: Declare signature for memcmp

Otherwise `opt` fails with:

    error: use of undefined value '@memcmp$def'

- - - - -
29e7322e by Ben Gamari at 2020-11-27T17:31:07+00:00
rts/linker: Don't allow shared libraries to be loaded multiple times

- - - - -
cdc12086 by Ben Gamari at 2020-11-27T17:31:07+00:00
rts/linker: Initialise CCSs from native shared objects

- - - - -
ca3d02f6 by Ben Gamari at 2020-11-27T17:31:07+00:00
rts/linker: Move shared library loading logic into Elf.c

- - - - -
28e537b5 by GHC GitLab CI at 2020-11-27T17:31:07+00:00
rts/linker: Don't declare dynamic objects with image_mapped

This previously resulted in warnings due to spurious unmap failures.

- - - - -


30 changed files:

- .gitlab-ci.yml
- compiler/GHC/CmmToLlvm/Base.hs
- compiler/GHC/Driver/CodeOutput.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/ghc.cabal.in
- docs/users_guide/debugging.rst
- docs/users_guide/eventlog-formats.rst
- docs/users_guide/expected-undocumented-flags.txt
- docs/users_guide/profiling.rst
- ghc/ghc-bin.cabal.in
- hadrian/doc/flavours.md
- hadrian/hadrian.cabal
- hadrian/src/Flavour.hs
- hadrian/src/Settings.hs
- − hadrian/src/Settings/Flavours/Llvm.hs
- − hadrian/src/Settings/Flavours/Profiled.hs
- − hadrian/src/Settings/Flavours/ThreadSanitizer.hs
- includes/RtsAPI.h
- includes/rts/EventLogFormat.h
- includes/rts/EventLogWriter.h
- includes/rts/Flags.h
- libraries/Cabal
- libraries/base/Debug/Trace.hs
- libraries/directory
- libraries/ghc-boot/GHC/Data/ShortText.hs
- libraries/hpc
- libraries/time
- libraries/unix
- rts/Capability.c


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c463ca00e278f0db179f60e75bebc5729ed80263...28e537b5b86da7a1ea821fd7950650e6aa751658

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c463ca00e278f0db179f60e75bebc5729ed80263...28e537b5b86da7a1ea821fd7950650e6aa751658
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/20201127/33f7ed2a/attachment.html>


More information about the ghc-commits mailing list