diff options
author | Ben Gamari <ben@smart-cactus.org> | 2022-04-11 13:23:22 -0400 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-04-27 10:06:07 -0400 |
commit | ee11d04363ed8aa1d73a0cda16076a39e668d163 (patch) | |
tree | 8cb2853ac6cd99442f7ff7c4e4f979e7674301e4 /docs | |
parent | 318e0005b5a3a522854ced7162f3eee95f964bd9 (diff) | |
download | haskell-ee11d04363ed8aa1d73a0cda16076a39e668d163.tar.gz |
Enable eventlog support in all ways by default
Here we deprecate the eventlogging RTS ways and instead enable eventlog
support in the remaining ways. This simplifies packaging and reduces GHC
compilation times (as we can eliminate two whole compilations of the RTS)
while simplifying the end-user story. The trade-off is a small increase
in binary sizes in the case that the user does not want eventlogging
support, but we think that this is a fine trade-off.
This also revealed a latent RTS bug: some files which included `Cmm.h`
also assumed that it defined various macros which were in fact defined
by `Config.h`, which `Cmm.h` did not include. Fixing this in turn
revealed that `StgMiscClosures.cmm` failed to import various spinlock
statistics counters, as evidenced by the failed unregisterised build.
Closes #18948.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/users_guide/9.4.1-notes.rst | 7 | ||||
-rw-r--r-- | docs/users_guide/phases.rst | 6 |
2 files changed, 11 insertions, 2 deletions
diff --git a/docs/users_guide/9.4.1-notes.rst b/docs/users_guide/9.4.1-notes.rst index 0273859173..345badec57 100644 --- a/docs/users_guide/9.4.1-notes.rst +++ b/docs/users_guide/9.4.1-notes.rst @@ -192,6 +192,13 @@ Compiler type variables when given a polymorphic type. (It used to instantiate inferred type variables.) +Runtime system +~~~~~~~~~~~~~~~~ + +- Support for GHC's eventlog is now enabled in all runtime system configurations, + eliminating the need to pass the :ghc-flag:`-eventlog` flag to use the eventlog. + This flag has been deprecated (:ghc-ticket:`18948`). + ``base`` library ~~~~~~~~~~~~~~~~ diff --git a/docs/users_guide/phases.rst b/docs/users_guide/phases.rst index fdb08a4209..54ed63a06c 100644 --- a/docs/users_guide/phases.rst +++ b/docs/users_guide/phases.rst @@ -1046,14 +1046,16 @@ for example). :type: dynamic :category: linking + :since: Unconditionally enabled with 9.4 and later + Link the program with the "eventlog" version of the runtime system. A program linked in this way can generate a runtime trace of events (such as thread start/stop) to a binary file :file:`{program}.eventlog`, which can then be interpreted later by various tools. See :ref:`rts-eventlog` for more information. - :ghc-flag:`-eventlog` can be used with :ghc-flag:`-threaded`. It is implied by - :ghc-flag:`-debug`. + Note that as of GHC 9.4 and later eventlog support is included in + the RTS by default and the :ghc-flag:`-eventlog` is deprecated. .. ghc-flag:: -rtsopts[=⟨none|some|all|ignore|ignoreAll⟩] :shortdesc: Control whether the RTS behaviour can be tweaked via command-line |