<!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=utf-8" http-equiv="Content-Type">
<title>
GitLab
</title>



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

<h3>
Ben Gamari pushed to branch wip/gc/ben
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/2121d6c6915963818e3ce47e3988059ea2621fc3">2121d6c6</a></strong>
<div>
<span>by Ömer Sinan Ağacan</span>
<i>at 2019-04-16T07:40:45Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Release bound tasks created for the concurrent GC

This reduces number of tasks reported in -s output from 140 to 17. It's
still more tasks than no-xn case (4), but the number is now more
reasonable.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4e14501da7b3a5cd1eb68ee7803fe1a5cc96c4ea">4e14501d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:37:52Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">NonMoving.h: Fix a few signedness issues
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ff7dabf1196ff0a047884e18ced96fe9448c2976">ff7dabf1</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:37:52Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">NonMoving.h: Use shift instead of integer division
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4589bdce7a923f40563e989b3237d7bd175f4067">4589bdce</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:37:53Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">NonMoving: Eliminate integer division in nonmovingBlockCount

Perf showed that the this single div was capturing up to 10% of samples
in nonmovingMark. However, the overwhelming majority of cases is looking
at small block sizes. These cases we can easily compute explicitly,
allowing the compiler to turn the division into a significantly more
efficient division-by-constant.

While the increase in source code looks scary, this all optimises down
to very nice looking assembler. At this point the only remaining
hotspots in nonmovingBlockCount are due to memory access.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8dffa1675d95f8f1c69e9a7e4cb1711714d1e1b5">8dffa167</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:48:15Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allow census without live word count

Otherwise the census is unsafe when mutators are running due to
concurrent mutation.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/4a9b88519af69d57c3d48264a3353daedc0e4e11">4a9b8851</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:52:27Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">rts/Eventlog: More descriptive error message
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/61a1252b0d830588b469cec9ea2c76b2963a7738">61a1252b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:58:04Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Account for freed segments in live data estimate
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/bf2d03eae83f0747383fcb3e4a6f4a983530d3d9">bf2d03ea</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:58:32Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Accounting hack
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9bce9eb326fcbf0e0e2473c6b012e32165f81e24">9bce9eb3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:59:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix warning
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/01ed904cd05b0f2f51430453cb5ae5fd1d8fc180">01ed904c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:59:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix warning
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/82c8438f0053d7130f0a6c98863875fbb78a46d6">82c8438f</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T18:59:17Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix warning
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/8c848b7b81ebfc3b2fc16f58f2d13d0c5c9b1b0e">8c848b7b</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:00:54Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Add some lock contention checking
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/97bbc1b71f4957369f196e8cf6c6662627ac2972">97bbc1b7</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:04:02Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Account for evacuation to nonmoving heap in copied at evacuation time
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/c161814a7806ebf0b54b2d057bf1d8515cae3491">c161814a</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:04:06Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Assert that n_blocks doesn't undeflow
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d25cdf7578f0550e83bd3733956281def301077f">d25cdf75</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:04:09Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Comment
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/0d2c7ca4c90ef21e7251972ec2c082eb7e425a69">0d2c7ca4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:07:52Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">NonMoving: Accumulate live words during mark
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/beb9b292a2143cd1c81576612ccac80dea4a7a6a">beb9b292</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:07:56Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Sanity: Don't double-count nonmoving_blocks

The blocks counted by nonmoving_blocks are already counted via
gen_blocks.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a672baf6c9738f7861c2d9300a7b21fb1005844a">a672baf6</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:35:00Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Correctly account for mark epoch in nonmovingIsAlive

I believe that this was the cause of #15136. However, I'm still not
entirely convinced of the reasoning.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/31806129b4d1d98cd43420ff3596e1dc78528b3d">31806129</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:42:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">XXX: Mark currently broken tests as such
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/6267400c18007801b26478afba444b5f62923954">6267400c</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:42:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite: Don't run conc071 in nonmoving_thr_ghc
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/1ac876a0bfc72306ac54c479da7bbb2c370b73c4">1ac876a0</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:42:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ghc-heap: Skip heap_all test with debugged RTS

The debugged RTS initializes the heap with 0xaa, which breaks the
(admittedly rather fragile) assumption that uninitialized fields are set
to 0x00:
```
Wrong exit code for heap_all(nonmoving)(expected 0 , actual 1 )
Stderr ( heap_all ):
heap_all: user error (assertClosuresEq: Closures do not match
Expected: FunClosure {info = StgInfoTable {entry = Nothing, ptrs = 0, nptrs = 1, tipe = FUN_0_1, srtlen = 0, code = Nothing}, ptrArgs = [], dataArgs = [0]}
Actual:   FunClosure {info = StgInfoTable {entry = Nothing, ptrs = 0, nptrs = 1, tipe = FUN_0_1, srtlen = 1032832, code = Nothing}, ptrArgs = [], dataArgs = [12297829382473034410]}

CallStack (from HasCallStack):
  assertClosuresEq, called at heap_all.hs:230:9 in main:Main
)
```
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/3148d257baac5ad5488ee86719a88259c58e5941">3148d257</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:42:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Skip ghc_heap_all test in nonmoving ways
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/43cfd3133516d90f227907fcdb9725be66e230b4">43cfd313</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:42:26Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Skip posix002 and executeFile001
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/10055612fea3c39a882dfa5e03f63710de1d6ae7">10055612</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T19:43:34Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">testsuite fixes
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/06faf43df643b263bcda68b4cd154084b62cd12d">06faf43d</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:12:10Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">NonmovingCensus: Emit samples to eventlog
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a7d6a8cce8a0c0f83808a81e541b45f538eb8e13">a7d6a8cc</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:19:11Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix accounting of oldest_gen->n_blocks

There was inconsistency in the treatment of blocks in the free segment
list.
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/5b9637719e24ce360e0ccd79e99b3934e2b29718">5b963771</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:19:57Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Allocate mark queues in larger block groups
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9e8d38707b80170dc07a755a90b7ea29c288612b">9e8d3870</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:20:55Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Merge branches 'wip/gc/T15136', 'wip/gc/accounting-fixes', 'wip/gc/warning-fixes', 'wip/gc/eventlog-census', 'wip/gc/microoptimize-mark', 'wip/gc/mark-broken-tests', 'wip/gc/long-pause-diagnostics' and 'wip/gc/larger-mark-queues' into wip/gc/tmp
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/d3d20ecd781bbe598bdf21dbdcf4a07f14febeea">d3d20ecd</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">ErrUtils: Emit progress messages to eventlog
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/606535b4553f612de3054d85f55e5c386f52ecfd">606535b4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Emit GHC timing events to eventlog
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ddf2c136a7b7402401455e4384943bdb063db4ee">ddf2c136</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">XXX: Various tracing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/ec8504f4763ae844ed894ebbdfb995d44e5853ee">ec8504f4</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Tracing
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/36e36baa77ead1734f0b49eed5c4380e7a41485d">36e36baa</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Introduce MUTLIST_DEBUG
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/21169e33429511a2b8a35aaab83f36a0957f428e">21169e33</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Block counting functions for nonmoving heap

Probably won't need these
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/883fcef8baa2a8899ede8bc43e35cbdde233ac37">883fcef8</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Drop redundant assignment
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/894313e3fcabc8e83bb2af8b4e12910a520a55dd">894313e3</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">XXX: Emit nonmoving census during GC
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a01753bb86be8c027aa3826f10a1840128ec66fe">a01753bb</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">XXX
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/a53f1be5c43671aec3a6505705e8eec1e13ac178">a53f1be5</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:21:12Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">XXX
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/e86fad528fb310a2b4865ec42ebc6edb1bde13c5">e86fad52</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-16T20:26:25Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix ErrUtils
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/9659fe91bae7cfadc4e5fef94648082c384c9ed1">9659fe91</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-17T17:55:22Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Eventlog: Fix warning
</pre>
</li>
<li>
<strong><a href="https://gitlab.haskell.org/ghc/ghc/commit/45662404780b4968b5308ad969e233ffeb175c9a">45662404</a></strong>
<div>
<span>by Ben Gamari</span>
<i>at 2019-04-17T17:56:11Z</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Fix accounting for real
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="#587d266bb27a4dc3022bbed44dfa19849df3044c">
.gitlab-ci.yml
</a>
</li>
<li class="file-stats">
<a href="#033a4b0a0dd5b2de8e407e7ee840e7bd5d90a25e">
compiler/main/ErrUtils.hs
</a>
</li>
<li class="file-stats">
<a href="#debe527847514360ea5e75538c7630ba2dfebba6">
includes/rts/EventLogFormat.h
</a>
</li>
<li class="file-stats">
<a href="#241971342cd0c394b24e67a781cf7e3d2f01aa72">
includes/rts/Flags.h
</a>
</li>
<li class="file-stats">
<a href="#452d5ee18aa2b91b6486a157ecf550dc84081872">
includes/rts/OSThreads.h
</a>
</li>
<li class="file-stats">
<a href="#c184941110ec11e4f595256c2354bed617511571">
libraries/base/GHC/RTS/Flags.hsc
</a>
</li>
<li class="file-stats">
<a href="#b817c80cbb15890d9a6df41e91d15d7442471f3c">
libraries/base/tests/all.T
</a>
</li>
<li class="file-stats">
<a href="#d8df9f361ffd907f41fa597e5b0638c73e9843ae">
libraries/ghc-compact/tests/all.T
</a>
</li>
<li class="file-stats">
<a href="#e7e177c17e4bf37dc865a39cde7a0ec9e1a33362">
libraries/ghc-heap/tests/all.T
</a>
</li>
<li class="file-stats">
<a href="#e7163f8813d1404d68bcb20d7e04ab7f9fe94834">
<span class="new-file">
+
rts/LongPause.c
</span>
</a>
</li>
<li class="file-stats">
<a href="#5162038825811ae0ef87b6d739f78dd4b1b0ac6e">
<span class="new-file">
+
rts/LongPause.h
</span>
</a>
</li>
<li class="file-stats">
<a href="#640fc6f2f536ba83f1694f9a7ef3d43e2d0428d3">
rts/RtsFlags.c
</a>
</li>
<li class="file-stats">
<a href="#7d6961cb073b9fe3df3a81f0ad5cf36eed293c42">
rts/Schedule.c
</a>
</li>
<li class="file-stats">
<a href="#2f69bf0632a148614b9aceae17e7e627784cf567">
rts/StableName.c
</a>
</li>
<li class="file-stats">
<a href="#264b041893a19041ac2281341c74847243da87e3">
rts/StablePtr.c
</a>
</li>
<li class="file-stats">
<a href="#dd999032375a73181520dcd2f0b39dab7b941602">
rts/StaticPtrTable.c
</a>
</li>
<li class="file-stats">
<a href="#a5d219117032120cc7bde9f13451d9627cff5614">
rts/Threads.c
</a>
</li>
<li class="file-stats">
<a href="#050d739b5c42d009648d099fb66bae809e83482e">
rts/Trace.c
</a>
</li>
<li class="file-stats">
<a href="#af7520a7c19cb7a894a90a944c97a4ed95f12b78">
rts/Trace.h
</a>
</li>
<li class="file-stats">
<a href="#4bef7d0c5d4ce46744aaacac2800349746d7e44f">
rts/eventlog/EventLog.c
</a>
</li>
<li class="file-stats">
<a href="#76aeecda0541f8b07341c3e7947c02a0cae5b8af">
rts/eventlog/EventLog.h
</a>
</li>
<li class="file-stats">
<a href="#e432c7b248b68100c3cc37db36ee80d975efd697">
rts/rts.cabal.in
</a>
</li>
<li class="file-stats">
<a href="#37a93df244a7789fddf557443b6398d06763e9cc">
rts/sm/Evac.c
</a>
</li>
<li class="file-stats">
<a href="#6477e10756faf038741e63d1ad499a1df809fe10">
rts/sm/GC.c
</a>
</li>
<li class="file-stats">
<a href="#06e70a7de800b2de9d75c2d5b5b554929f6b9bcb">
rts/sm/GC.h
</a>
</li>
<li class="file-stats">
<a href="#b4a38dad10ba126e05a0b6adc99aa0c2eb742875">
rts/sm/NonMoving.c
</a>
</li>
<li class="file-stats">
<a href="#371d3c3c9fad484c1163aa733d70507ce33084c9">
rts/sm/NonMoving.h
</a>
</li>
<li class="file-stats">
<a href="#ce1fd903f76bcc3c8ed26080555bb11aebaa5869">
rts/sm/NonMovingCensus.c
</a>
</li>
<li class="file-stats">
<a href="#189b723f65df9efc58867f84285cfda38cfd4717">
rts/sm/NonMovingCensus.h
</a>
</li>
<li class="file-stats">
<a href="#4f5ba3ce18ccc17ad367193f379aa61f4c9180a0">
rts/sm/NonMovingMark.c
</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/5f773235f2b966e612743baea747fa6f0fc420d1...45662404780b4968b5308ad969e233ffeb175c9a">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>