<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>



<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">

<h3>
David Eichmann pushed to branch wip/ghc-debug
at <a href="https://gitlab.haskell.org/ghc/ghc">Glasgow Haskell Compiler / GHC</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6abe4a1c427a511aa698424055639ea789fccf97">6abe4a1c</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-10T17:02:00+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">.gitignore *.hiedb files
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3777be14e104f040b826762f5ab42a8b898d85ae">3777be14</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-10T17:03:12+02:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PmCheck: Handle ⊥ and strict fields correctly (#18341)

In #18341, we discovered an incorrect digression from Lower Your Guards.
This MR changes what's necessary to support properly fixing #18341.

In particular, bottomness constraints are now properly tracked in the
oracle/inhabitation testing, as an additional field
`vi_bot :: Maybe Bool` in `VarInfo`. That in turn allows us to
model newtypes as advertised in the Appendix of LYG and fix #17725.
Proper handling of ⊥ also fixes #17977 (once again) and fixes #18670.

For some reason I couldn't follow, this also fixes #18273.

I also added a couple of regression tests that were missing. Most of
them were already fixed before.

In summary, this patch fixes #18341, #17725, #18273, #17977 and #18670.

Metric Decrease:
    T12227
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1bd28931903c2fbc10a4b2ecbf9dffd0a3585ac8">1bd28931</a></strong>
<div>
<span>by David Himmelstrup</span>
<i>at 2020-09-11T09:59:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Define TICKY_TICKY when compiling cmm RTS files.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/15e67801ee72b94c6c826f641464c6be511685cc">15e67801</a></strong>
<div>
<span>by David Himmelstrup</span>
<i>at 2020-09-11T09:59:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix typos in TICKY_TICKY symbol names.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8a5a91cb67e8c4e2558031c04efccf3c378ba254">8a5a91cb</a></strong>
<div>
<span>by David Himmelstrup</span>
<i>at 2020-09-11T09:59:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Enable TICKY_TICKY for debug builds when building with makefiles.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fc965c0910757410d624229419f36f0829cf73f6">fc965c09</a></strong>
<div>
<span>by Sandy Maguire</span>
<i>at 2020-09-12T00:31:36-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add clamp function to Data.Ord
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fb6e29e8d19deaf7581fdef14adc88a02573c83e">fb6e29e8</a></strong>
<div>
<span>by Sandy Maguire</span>
<i>at 2020-09-12T00:31:37-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add tests
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2a9422859e0c079aaa38bb9a760034f887501fce">2a942285</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-12T00:32:13-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">PmCheck: Disattach COMPLETE pragma lookup from TyCons

By not attaching COMPLETE pragmas with a particular TyCon and instead
assume that every COMPLETE pragma is applicable everywhere, we can
drastically simplify the logic that tries to initialise available
COMPLETE sets of a variable during the pattern-match checking process,
as well as fixing a few bugs.

Of course, we have to make sure not to report any of the
ill-typed/unrelated COMPLETE sets, which came up in a few regression
tests.

In doing so, we fix #17207, #18277 and #14422.

There was a metric decrease in #18478 by ~20%.

Metric Decrease:
    T18478
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/389a668343c0d4f5fa095112ff98d0da6998e99d">389a6683</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-12T00:32:49-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">hadrian: Pass input file to makeindex

Strangely I find that on Alpine (and apparently only on Alpine) the
latex makeindex command expects to be given a filename, lest it reads
from stdin.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/853d121acfcdae208e852edacac65a1b3e8cab83">853d121a</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-12T00:33:25-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Don't quote argument to Hadrian's test-env flag (#18656)

Doing so causes the name of the test environment to gain an extra
set of double quotes, which changes the name entirely.

Fixes #18656.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8440b5fa1397940f2f293935927e690b34110a73">8440b5fa</a></strong>
<div>
<span>by Krzysztof Gogolewski</span>
<i>at 2020-09-12T00:33:25-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make sure we can read past perf notes

See #18656.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2157be52cd454353582b04d89492b239b90f91f7">2157be52</a></strong>
<div>
<span>by theobat</span>
<i>at 2020-09-12T21:27:04-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Avoid iterating twice in `zipTyEnv` (#18535)

zipToUFM is a new function to replace `listToUFM (zipEqual ks vs)`.
An explicit recursion is preferred due to the sensible nature of fusion.

    T12227 -6.0%
    T12545 -12.3%
    T5030  -9.0%
    T9872a -1.6%
    T9872b -1.6%
    T9872c -2.0%

 -------------------------
Metric Decrease:
    T12227
    T12545
    T5030
    T9872a
    T9872b
    T9872c
-------------------------
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/69ea2fee35b4bcfd9253ee608f7135024186aeed">69ea2fee</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-12T21:27:40-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make `tcCheckSatisfiability` incremental (#18645)

By taking and returning an `InertSet`.
Every new `TcS` session can then pick up where a prior session left with
`setTcSInerts`.

Since we don't want to unflatten the Givens (and because it leads to
infinite loops, see !3971), we introduced a new variant of `runTcS`,
`runTcSInerts`, that takes and returns the `InertSet` and makes
sure not to unflatten the Givens after running the `TcS` action.

Fixes #18645 and #17836.

Metric Decrease:
    T17977
    T18478
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a77e48d291b35a92731f106d79ea75117ec380e1">a77e48d2</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-12T21:27:40-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Extract definition of DsM into GHC.HsToCore.Types

`DsM` was previously defined in `GHC.Tc.Types`, along with `TcM`. But
`GHC.Tc.Types` is in the set of transitive dependencies of `GHC.Parser`,
a set which we aim to minimise. Test case `CountParserDeps` checks for
that.

Having `DsM` in that set means the parser also depends on the innards of
the pattern-match checker in `GHC.HsToCore.PmCheck.Types`, which is the
reason we have that module in the first place.

In the previous commit, we represented the `TyState` by an `InertSet`,
but that pulls the constraint solver as well as 250 more modules into
the set of dependencies, triggering failure of `CountParserDeps`.
Clearly, we want to evolve the pattern-match checker (and the desugarer)
without being concerned by this test, so this patch includes a small
refactor that puts `DsM` into its own module.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/fd5d622a5ee283d3c1f1ccd28b4f73aab30d7d9f">fd5d622a</a></strong>
<div>
<span>by Sebastian Graf</span>
<i>at 2020-09-12T21:27:40-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Hackily decouple the parser from the desugarer

In a hopefully temporary hack, I re-used the idea from !1957 of using a
nullary type family to break the dependency from GHC.Driver.Hooks on the
definition of DsM ("Abstract Data").
This in turn broke the last dependency from the parser to the desugarer.
More details in `Note [The Decoupling Abstract Data Hack]`.

In the future, we hope to undo this hack again in favour of breaking the
dependency from the parser to DynFlags altogether.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/35a7b7ecabeba39e53d6dea78ecc2d3eca8b1b24">35a7b7ec</a></strong>
<div>
<span>by Adam Sandberg Eriksson</span>
<i>at 2020-09-14T17:46:16-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">docs: -B rts option sounds the bell on every GC (#18351)</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5ae8212c3d2f284bc18a562625be3f4640984497">5ae8212c</a></strong>
<div>
<span>by Wander Hillen</span>
<i>at 2020-09-14T17:46:54-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Populate gitlab cache after building
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a5ffb39afc386729c821b924dd2c6a93917e1b5f">a5ffb39a</a></strong>
<div>
<span>by Wander Hillen</span>
<i>at 2020-09-14T17:46:54-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move ahead cabal cache restoration to before use of cabal
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/e8b37c21fdcb9ca515e3dd2fab1661b7792fb728">e8b37c21</a></strong>
<div>
<span>by Wander Hillen</span>
<i>at 2020-09-14T17:46:54-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do the hadrian rebuild multicore
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/07762eb5cfe735e131a7f017939a6b0ccfb28389">07762eb5</a></strong>
<div>
<span>by Wander Hillen</span>
<i>at 2020-09-14T17:46:54-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Also cache other hadrian builds
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8610bcbeb11b898f85f228b755fa8421b5ae3e34">8610bcbe</a></strong>
<div>
<span>by DenisFrezzato</span>
<i>at 2020-09-15T15:19:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix rtsopts documentation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c7182a5c67fe8b5bd256cb8eb805562636853ea2">c7182a5c</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-09-15T15:19:44-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Care with implicit-parameter superclasses

Two bugs, #18627 and #18649, had the same cause: we were not
account for the fact that a constaint tuple might hide an implicit
parameter.

The solution is not hard: look for implicit parameters in
superclasses.  See Note [Local implicit parameters] in
GHC.Core.Predicate.

Then we use this new function in two places

* The "short-cut solver" in GHC.Tc.Solver.Interact.shortCutSolver
  which simply didn't handle implicit parameters properly at all.
  This fixes #18627

* The specialiser, which should not specialise on implicit parameters
  This fixes #18649

There are some lingering worries (see Note [Local implicit
parameters]) but things are much better.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0f3884b0b72fb1e4641450e68f63580c0e86f515">0f3884b0</a></strong>
<div>
<span>by Zubin Duggal</span>
<i>at 2020-09-15T15:20:23-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Export enrichHie from GHC.Iface.Ext.Ast

This is useful for `ghcide`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b3143f5a0827b640840ef241a30933dc23b69d91">b3143f5a</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-09-15T15:21:06-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Enhance metrics output
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4283feaa9e0826211f7a71d543054c989ea32965">4283feaa</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-15T15:21:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce and use DerivClauseTys (#18662)

This switches `deriv_clause_tys` so that instead of using a list of
`LHsSigType`s to represent the types in a `deriving` clause, it now
uses a sum type. `DctSingle` represents a `deriving` clause with no
enclosing parentheses, while `DctMulti` represents a clause with
enclosing parentheses. This makes pretty-printing easier and avoids
confusion between `HsParTy` and the enclosing parentheses in
`deriving` clauses, which are different semantically.

Fixes #18662.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/90229c4b781184d0e59ac67afda90ed316f62bcd">90229c4b</a></strong>
<div>
<span>by Ryan Scott</span>
<i>at 2020-09-16T04:53:22-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Include -f{write,validate}-ide-info in the User's Guide flag reference

Previously, these were omitted from the flag reference due to a
layout oversight in `docs/users_guide/flags.{rst,py}`.

Fixes #18426.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/ce42e187ebfc81174ed477f247f023ae094c9b24">ce42e187</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-16T04:53:59-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Fix erroneous usage of vsnprintf

As pointed out in #18685, this should be snprintf not vsnprintf. This
appears to be due to a cut-and-paste error.

Fixes #18658.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b695e7d73617ab19170d37b383315e8ede289c5e">b695e7d7</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-09-16T04:54:38-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Rename ghci flag into internal-interpreter

"ghci" as a flag name was confusing because it really enables the
internal-interpreter. Even the ghci library had a "ghci" flag...
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8af954d202de1de0671062c3f55e43fc783f8192">8af954d2</a></strong>
<div>
<span>by Sylvain Henry</span>
<i>at 2020-09-16T04:55:17-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make ghc-boot reexport modules from ghc-boot-th

Packages don't have to import both ghc-boot and ghc-boot-th. It makes
the dependency graph easier to understand and to refactor.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6baa67f5500da6ca74272016ec8fd62a4b5b5050">6baa67f5</a></strong>
<div>
<span>by Adam Sandberg Eriksson</span>
<i>at 2020-09-16T07:45:47-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">docs: correct haddock reference

[skip ci]</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/7cf09ab013778227caa07b5d7ec9acd5dedd1817">7cf09ab0</a></strong>
<div>
<span>by Simon Peyton Jones</span>
<i>at 2020-09-17T01:27:25-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do absence analysis on stable unfoldings

Ticket #18638 showed that Very Bad Things happen if we fail
to do absence analysis on stable unfoldings.  It's all described
in Note [Absence analysis for stable unfoldings and RULES].

I'm a bit surprised this hasn't bitten us before. Fortunately
the fix is pretty simple.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/76d3bcbcef61ac71677855d6f90754ef019b9b4f">76d3bcbc</a></strong>
<div>
<span>by Leif Metcalf</span>
<i>at 2020-09-17T01:28:01-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Replace deprecated git --recursive

The --recursive flag of git-clone has been replaced by the
--recurse-submodules flag since git 1.7.4, released in 2011.</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/da8f4ddd76bac18c721aeaa247725953604206d3">da8f4ddd</a></strong>
<div>
<span>by Richard Eisenberg</span>
<i>at 2020-09-17T01:28:38-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Document IfaceTupleTy
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3c94c81629ac9159775b8b70baf2c635f0331708">3c94c816</a></strong>
<div>
<span>by HaskellMouse</span>
<i>at 2020-09-17T08:49:51-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Added explicit fixity to (~).

Solves #18252
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b612e396ed1141dadfabc8486876abb713628f06">b612e396</a></strong>
<div>
<span>by Cary Robbins</span>
<i>at 2020-09-17T08:50:30-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make the 'IsString (Const a b)' instance polykinded on 'b'
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8d0c26c463fc1512ad90788345b002b23e53555a">8d0c26c4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T08:51:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/win32: Fix missing #include's

These slipped through CI.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/76009ec84652f9b5c085f320ad9476e3693549f1">76009ec8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T08:51:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump Win32 submodule to 2.9.0.0

Also bumps Cabal, directory
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/147bb59826087300f989addfcf79e3956f6ed66b">147bb598</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2020-09-17T08:51:08-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Bump version to 9.0

Bumps haskeline and haddock submodules.

(cherry picked from commit f218cfc92f7b1a1e01190851972bb9a0e0f3c682)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5c7387f6f8896a34af25f8a28a78095e22287752">5c7387f6</a></strong>
<div>
<span>by Leif Metcalf</span>
<i>at 2020-09-17T08:51:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Make Z-encoding comment into a note
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c12b3041e533962b8d0ac9ee44e928f874c11671">c12b3041</a></strong>
<div>
<span>by Leif Metcalf</span>
<i>at 2020-09-17T08:51:43-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Cosmetic
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/4f461e1a31263f052effd03738b11ea123512cb0">4f461e1a</a></strong>
<div>
<span>by Vladislav Zavialov</span>
<i>at 2020-09-17T08:52:19-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Parser.y: clarify treatment of @{-# UNPACK #-}

Before this patch, we had this parser production:

        ftype : ...
              | ftype PREFIX_AT tyarg  { ... }

And 'tyarg' is defined as follows:

        tyarg : atype              { ... }
              | unpackedness atype { ... }

So one might get the (false) impression that that parser production is
intended to parse things like:

        F @{-# UNPACK #-} X

However, the lexer wouldn't produce PREFIX_AT followed by 'unpackedness',
as the '@' operator followed by '{-' is not considered prefix.

Thus there's no point using 'tyarg' after PREFIX_AT,
and a simple 'atype' will suffice:

        ftype : ...
              | ftype PREFIX_AT atype  { ... }

This change has no user-facing consequences. It just makes the grammar a
bit more clear.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9dec8600ad4734607bea2b4dc3b40a5af788996b">9dec8600</a></strong>
<div>
<span>by Benjamin Maurer</span>
<i>at 2020-09-17T08:52:56-04:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Documented '-m' flags for machine specific instruction extensions.
See #18641 'Documenting the Expected Undocumented Flags'
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/46f02c8052dde1daa1501b946990424493f81ab0">46f02c80</a></strong>
<div>
<span>by Matthew Pickering</span>
<i>at 2020-10-13T12:37:18+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts: Implement ghc-debug API (#18405)

There are four components to this patch which make it possible to
implement `ghc-debug`.

1. Add four new functions to the RtsAPI.
  * rts_pause and rts_unpause allow an external process to completely
  pause and unpause the RTS.
  * rts_listThreads and rts_listMiscRoots are used to find the current
  roots of the garbage collector.

These changes also mean that `Task.h` is exposed to the user.

2. Generalise the `ghc-heap` API so that raw `Word`s can be returned
rather than actual objects. This is necessary when trying to decode
closures on an external process because the pointers in such closures
are correct for the internal rather than external process. If you used
the previous API then you would get a segfault as the garbage collector
would try to traverse into these nonsensical branches.

```
-- before
getClosureData :: a -> IO Closure
-- after
getClosureDataX :: (forall c . c -> IO (Ptr StgInfoTable, [Word], [b]))
                              -> a -> IO (GenClosure b)
```

For the normal case `b` is instantiated to `Box`, which contains a
pointer to a heap object.

```
data Box = Box a

-- GenClosure Box
```

For `ghc-debug` we instead just take the word of the address as we have
to explicitly interpret it on the external process.

```
GenClosure Word
```

3. Support for decoding `TSO` and `STACK` closures is partially
implemented. There is still quite a bit of work to do to finish both but
these at least allow us to make some more progress.

4. findPtr is generalised to take a callback argument. This means that
its result can be communicated to the debugger rather than just printing
out the result. The debugger has a function which invokes `findPtr` and
passes a callback which sends the result over a socket.

Co-authored-by: Ben Gamari <ben@smart-cactus.org>
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/a60279c088f231b2d8c2e441d94f97fcec06ed9e">a60279c0</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:18+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Decode more StgTSO and StgStack fields (#18405)

Use hsc2hs to get an understandable and stable mapping from the C
structs to Haskell.

It's important to keep StgTSO and StgStack decoding downwards
compatible. This is especially needed for hadrian/ghci.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/333e48a52aaee788dec5956aa6912713c10d2d01">333e48a5</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:18+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test for StgTSO decoding (#18405)

This makes sure ghc-heap decodes StgTSO and StgStack correctly.

To assert - otherwise dynamic - properties, a new, non-running TSO is
created in create_tso() (create_tso.c).

size is renamed to stack_size to use a dedicated type.

size was already defined as a HalfWord in GenClosure, which is
only equivalent to Word32 on 64bit architectures.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6180fd8c92735378d5ee877a9a4a031527eb3972">6180fd8c</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:18+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add documentation to ghc-debug functions (#18405)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/523dd89e9c44f6f4eea4f50fe468ecf80ced6748">523dd89e</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:18+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Adjust type of getClosureX to type of getClosureDataX (#18405)

After a rebase the compiler complained:

libraries/ghc-heap/GHC/Exts/Heap.hs:89:23: error:
    • Couldn't match type: a -> IO (Ptr StgInfoTable, [Word], [b])
                     with: forall c. c -> IO (Ptr StgInfoTable, [Word], [b])
      Expected: (forall c. c -> IO (Ptr StgInfoTable, [Word], [b]))
                -> a -> IO (GenClosure b)
        Actual: (a -> IO (Ptr StgInfoTable, [Word], [b]))
                -> a -> IO (GenClosure b)
    • In the expression: getClosureX
      In an equation for ‘getClosureDataX’: getClosureDataX = getClosureX
      In the instance declaration for ‘HasHeapRep a’
    • Relevant bindings include
        getClosureDataX :: (forall c.
                            c -> IO (Ptr StgInfoTable, [Word], [b]))
                           -> a -> IO (GenClosure b)
          (bound at libraries/ghc-heap/GHC/Exts/Heap.hs:89:5)
   |
89 |     getClosureDataX = getClosureX
   |                       ^^^^^^^^^^^
)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/8520bf2eb0667a4ed3f65d8fac249ecb56950032">8520bf2e</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test for rts_pause and rts_unpause (#18405)
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/babbf82e484c16f6fc0b2d684469795875b90223">babbf82e</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add test list_threads_and_misc_roots (#18405)

It uses rts_listThreads() and rts_listMiscRoots().
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b9d8aaedc16a5c442eb9ff63aebcd08d3b8768ea">b9d8aaed</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce rts_isPaused() (#18405)

Some operations are only save when the RTS is paused. This predicate
helps to make such checks.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f0f6514b87fffd9a8f11408238cd80267fe33738">f0f6514b</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Decode CostCentreStacks, CostCentres and InfoTables (#18405)

These are the data structures used by profiling, i.e. they are only
available when the RTS is used with `-prof`. Otherwise fetching them
results into `Nothing`.

To reduce unnecessary decoding, a state monad transformer is used to
provide caching for CostCentres.

Because the three types form a circular data structure, loop-breakers
are applied to prevent endless decoding loops.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/50999318f61d6ef4c43f9c0dc096c12ec19bcd6e">50999318</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use more precise types in tests (#18405)

Use `Ptr ()` instead of `Word` to communicate that addresses/pointers
are meant.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/f9202cc13ccdd5a6bd5c5966fe1a37e688f749f3">f9202cc1</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce LiftedClosure (#18405)

This is a representation for closures that do not have a representation
in the Haskell language. I.e. things like StgTSOs.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/29884e67a9f05606b8e54d2515c21372f9403ec0">29884e67</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Expect stack_marking starting from GHC 8.10 (#18405)

This field was introduced with GHC 8.10.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6dc5a7a278e7beb25c599e7aacdbb80a752ae1dd">6dc5a7a2</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add WhatNext, WhyBlocked and TsoFlags to TSO closure (#18405)

These constants can easily be decoded to sum types.

Additionally extract TestUtils with common test functions.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/655fa05e0abbbdcd7c54da24c4b31c8d47f56208">655fa05e</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">END_TSO_QUEUE is not a closure type on it's own (#18405)

Indeed it's a CONSTR_NOCAF.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/864ef7ae1715abbd33c748305c38458320a1744e">864ef7ae</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Rename boundTaskExiting and getTask (#18405)

Both are directly related to myTask, which the new names now reflect.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/9e929330cab6776e9c939b10a95fb1af1f313a5c">9e929330</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Mark unsafe accesses (#18405)

StgTSO and StgStack are very dynamic by nature. Accesses to outdated
pointers lead to segmentation faults or absolutely wrong results.

So, make sure (by naming) that the users nows about these facts.

The safe way to access these fields it to stop the RTS via RTS API.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/bc9b4d8b164ff469de5c97304c7e25ed79fc8370">bc9b4d8b</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Check pointers with pattern matching (#18405)

This is nicer than to check the length of the pointer's list and index
on it.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b44d37eac321f4848bbe1498886ea50cdb5562ea">b44d37ea</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unsave function (#18405)

heap_view_closurePtrsAsWords is currently only used by ghc-debug, so
it can be defined there.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2e10a6dc6f3f3869a7833882cf6843ad54be1b90">2e10a6dc</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Define a public API for Printer.c (#18405)

The RtsAPI contains functions to inspect the heap. The published
Printer.c functions help to print the found closures.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6d985ce9e2603043ab2600979e6228cc29f7be9c">6d985ce9</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Do not require ClosureTypes to be Bounded (#18405)

A small change to list_threads_and_misc_roots.hs and being Bounded
isn't necessary anymore.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/584eacb15315dba02584b041a15dbb074b007acd">584eacb1</a></strong>
<div>
<span>by Sven Tennie</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Assure RTS is not paused after rts_unpause() (#18405)

Assert this invariant in tests.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/1533e5ae4813384da44e0450d1c14e8b19244380">1533e5ae</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Use `exitMyTask()` instead of `freeTask()` in `rts_unpause()`
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5373ca52caad096ee8673e3852c75bda3be5e54c">5373ca52</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correct documentation for Task_::stopped
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c7d0049d6da67b3a56a72611284a7fbc8a02bb3a">c7d0049d</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Improve documentation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/042dd89484d0e96c7b303de1f9b174f049d484d5">042dd894</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Record and restor owned capability on pause/unpause
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c0cc0965a1dc55aa3b6f6f4c2ddef63e9a260921">c0cc0965</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add tests for calling ghc-debug API via safe/unsafe FFI call and via a new thread
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b96af02cd052c9e4e0324184670dbcbbcf5e4f1e">b96af02c</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove addition of findPtrCb and related changes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6db3dafba55f2100aea32c5ca8950f551a88d067">6db3dafb</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Rename rts_unpause to rts_resume
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/936634dbbaff4583bed0dbcc3e35cb2cc498109a">936634db</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Simplify and speedup test
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/70f2703c8c3d346b5b891436d973cb7235e00a76">70f2703c</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">WIP Clarify multi-threaded behavior and correct usage of the ghc-debug API
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/49cfd897e56f9e10e910906c692cab3637068655">49cfd897</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix list_threads_and_misc_roots test
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6609a3bea8bf0063de90a73bb71efc6c9b22709b">6609a3be</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allow rts_pause to be called multiple times from the same thread
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/14404f81eea9418d4ab74379b8f1c2ffa659dda7">14404f81</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:19+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Return a Capability from rts_pause to allow use of other RtsAPI.h functions
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/c6016cb69709e55a7950c9c7d6522e6045e018b7">c6016cb6</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Replace uint with unsigned int. Needed for validate-x86_64-darwin build.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/591381f6ee08b0b723f33f57be38788cd83782c5">591381f6</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix warnings
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/6067cf6ce4290356412852b4346f9bce9575a726">6067cf6c</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Error instead of deadlock when calling rts_lock after rts_pause
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3a8ccb2797dbc056f3e2189ce8093c6cf8f9402a">3a8ccb27</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move and rewrite NOTE on RtsAPI thread safety
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b5d863dc3525c7ba83a092a78db85c9b7a3e9f40">b5d863dc</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correct RtsAPI documentation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/dd37460366fb5ac45f748e55c89b9afdb45ca27f">dd374603</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove transformers dependency from ghc-heap
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/2ef6a89648fc3c7d66354c6f4e05180003f8db59">2ef6a896</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Move ptrToInt to GHC.Exts.Heap.ProfInfo.PeekProfInfo_ProfilingEnabled
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/303f456d7b6956736c42aa93dffb878acba63e66">303f456d</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Simplify getClosureDataX and rename to getClosureDataWith
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/d8d9d0dacf1af6de88e4a1a6e3f63ebceab6d4aa">d8d9d0da</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add documentation to StgStack
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0d520cd8951c383a956750dc12d331d875b94268">0d520cd8</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove unneeded local variables in unpackClosure# primop
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/b2e84fcbe2493c87027d7f6897edba5ac4e77e31">b2e84fcb</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Refactor ghc-heap to allow decoding TSO/STACK closures

* Remove getClosureDataWith in favour of the old simpler getClosureData
* Added getClosureDataFromHeapRep which is used by getClosureData and
  can be reused by ghc-debug
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/10ccf75f5cd99ec4f01345563c249c6497876391">10ccf75f</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Support STACK closures in collect_pointers()
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/92408a0d6616b3090909d198970681d0ae22e25c">92408a0d</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update documentation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/16bd48bf352c41dfedf2dedf040f8498b35775d8">16bd48bf</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update documentation
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/0293b5ac34e1d044fee9fb31c12e4f46e3cf015e">0293b5ac</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove LiftedClosure. Use Any instead.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/3f969029ec5006a7517c990afbcc74c20c1ef2c1">3f969029</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove first argument to peekTSOFields. Always use peekStgTSOProfInfo.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/01ebe65c028f602db57bb670f9d8c5400cce3755">01ebe65c</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comobine prof_info tso_and_stack_closures test and test getClosureDataFromHeapRep
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/59c9f6b32c22ebe35b919faf4ff24f35bb31e383">59c9f6b3</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Remove stack_spOffset and test for TSO closure flags
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/-/commit/5e6e86177678664da6f2ea7f977412e38eabbad3">5e6e8617</a></strong>
<div>
<span>by David Eichmann</span>
<i>at 2020-10-13T12:37:20+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add missing EOL
</pre>
</li>
</ul>
<h4>27 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#a5cc2925ca8258af241be7e5b0381edf30266302">
.gitignore
</a>
</li>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#8ec9a00bfd09b3190ac6b22251dbb1aa95a0579d">
README.md
</a>
</li>
<li class="file-stats">
<a href="#5c66928780aaad0eb5888511dc4b0b08492c69fa">
compiler/GHC/ByteCode/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#6fcf64907fb5bdd93082d2d1eb94e4566e735865">
compiler/GHC/Core/DataCon.hs
</a>
</li>
<li class="file-stats">
<a href="#448d7f6e0151c2014de38dead3a902f511c45b75">
compiler/GHC/Core/FVs.hs
</a>
</li>
<li class="file-stats">
<a href="#8104fa1b71db6cfc4eb90cd769463d9eb9004619">
compiler/GHC/Core/Opt/DmdAnal.hs
</a>
</li>
<li class="file-stats">
<a href="#ab22d7ae4d245581b701367e386d7e886e416e76">
compiler/GHC/Core/Opt/Specialise.hs
</a>
</li>
<li class="file-stats">
<a href="#0ca1508e5b0cedec2f19fe10e414597184209573">
compiler/GHC/Core/Predicate.hs
</a>
</li>
<li class="file-stats">
<a href="#8ee6f6851986ea96987a52f1dbf39228c85c6032">
compiler/GHC/Core/TyCo/Subst.hs
</a>
</li>
<li class="file-stats">
<a href="#2fefe3125c649bc5377b06a7cca18e785855b79c">
compiler/GHC/Data/Bag.hs
</a>
</li>
<li class="file-stats">
<a href="#d51029aec6ce58e66d4b48865c1dd0d2038fda29">
compiler/GHC/Data/FastString.hs
</a>
</li>
<li class="file-stats">
<a href="#8e72a25145f803aab964beb710b25dd6cd38aafc">
compiler/GHC/Driver/Hooks.hs
</a>
</li>
<li class="file-stats">
<a href="#ff068514f65150b5ec069a421b0223fe35f41569">
compiler/GHC/Driver/Types.hs
</a>
</li>
<li class="file-stats">
<a href="#75bfcd03f3ba9315d33104fcb0424c6bfeb4e334">
compiler/GHC/Hs/Decls.hs
</a>
</li>
<li class="file-stats">
<a href="#576dff4e64fa03683ffc5dcdd58284acdd70bc8e">
compiler/GHC/Hs/Extension.hs
</a>
</li>
<li class="file-stats">
<a href="#9f00edfedb0f969865b049a78de3866545b4a60b">
compiler/GHC/Hs/Instances.hs
</a>
</li>
<li class="file-stats">
<a href="#dd79b5199bc3b425c4536c633b39006df111a7ef">
compiler/GHC/HsToCore.hs
</a>
</li>
<li class="file-stats">
<a href="#65e2067fbb7377818b6cadff0531f44029499948">
compiler/GHC/HsToCore/Binds.hs
</a>
</li>
<li class="file-stats">
<a href="#ea46b374e004d4416e29a563ee063542f98e48c5">
compiler/GHC/HsToCore/Docs.hs
</a>
</li>
<li class="file-stats">
<a href="#6bdd5abc649727f2a802bc96ce5c276de19d3726">
compiler/GHC/HsToCore/Expr.hs
</a>
</li>
<li class="file-stats">
<a href="#83f0b13548ac43fe13b1813fb407249ff9b825f7">
compiler/GHC/HsToCore/GuardedRHSs.hs
</a>
</li>
<li class="file-stats">
<a href="#085703923f9c18f6ac9f926ac9a4c7c7e6d9d9ed">
compiler/GHC/HsToCore/Match.hs
</a>
</li>
<li class="file-stats">
<a href="#c8a27621f82549165d8946ae8e9f467660958059">
compiler/GHC/HsToCore/Monad.hs
</a>
</li>
<li class="file-stats">
<a href="#ac0a6473a902628a18b3a470122e5cc1ce09de14">
compiler/GHC/HsToCore/PmCheck.hs
</a>
</li>
<li class="file-stats">
<a href="#8d8e5922fde8bc19ffa2bc9cae6b6720abb88564">
compiler/GHC/HsToCore/PmCheck/Oracle.hs
</a>
</li>
<li class="file-stats">
<a href="#16160f179df308e914fffee87ce52c9a048bde89">
compiler/GHC/HsToCore/PmCheck/Ppr.hs
</a>
</li>
</ul>
<h5>The diff was not included because it is too large.</h5>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">

<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/compare/9988a0db0fcf91103697bef5889c98fd8214ae9f...5e6e86177678664da6f2ea7f977412e38eabbad3">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.haskell.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.



</p>
</div>
</body>
</html>