[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 23 commits: Clean up boot vs non-boot disambiguating types

Marge Bot gitlab at gitlab.haskell.org
Sun May 31 06:32:52 UTC 2020



 Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC


Commits:
da956cef by John Ericson at 2020-05-30T09:39:27-04:00
Clean up boot vs non-boot disambiguating types

We often have (ModuleName, Bool) or (Module, Bool) pairs for "extended"
module names (without or with a unit id) disambiguating boot and normal
modules. We think this is important enough across the compiler that it
deserves a new nominal product type. We do this with synnoyms and a
functor named with a `Gen` prefix, matching other newly created
definitions.

It was also requested that we keep custom `IsBoot` / `NotBoot` sum type.
So we have it too. This means changing many the many bools to use that
instead.

- - - - -
e20f3442 by Daniel Gröber at 2020-05-31T02:32:06-04:00
Cleanup OVERWRITING_CLOSURE logic

The code is just more confusing than it needs to be. We don't need to mix
the threaded check with the ldv profiling check since ldv's init already
checks for this. Hence they can be two separate checks. Taking the sanity
checking into account is also cleaner via DebugFlags.sanity. No need for
checking the DEBUG define.

The ZERO_SLOP_FOR_LDV_PROF and ZERO_SLOP_FOR_SANITY_CHECK definitions the
old code had also make things a lot more opaque IMO so I removed those.

- - - - -
71811815 by Daniel Gröber at 2020-05-31T02:32:06-04:00
Fix OVERWRITING_CLOSURE assuming closures are not inherently used

The new ASSERT in LDV_recordDead() was being tripped up by MVars when
removeFromMVarBlockedQueue() calls OVERWRITING_CLOSURE() via
OVERWRITE_INFO().

- - - - -
c982036d by Daniel Gröber at 2020-05-31T02:32:06-04:00
Always zero shrunk mutable array slop when profiling

When shrinking arrays in the profiling way we currently don't always zero
the leftover slop. This means we can't traverse such closures in the heap
profiler. The old Note [zeroing slop] and #8402 have some rationale for why
this is so but I belive the reasoning doesn't apply to mutable
closures. There users already have to ensure multiple threads don't step on
each other's toes so zeroing should be safe.

- - - - -
913931e9 by Ben Gamari at 2020-05-31T02:32:07-04:00
testsuite: Add test for #18151

- - - - -
5c49e457 by Ben Gamari at 2020-05-31T02:32:07-04:00
testsuite: Add test for desugaring of PostfixOperators

- - - - -
32962409 by Ben Gamari at 2020-05-31T02:32:07-04:00
HsToCore: Eta expand left sections

Strangely, the comment next to this code already alluded to the fact
that even simply eta-expanding will sacrifice laziness. It's quite
unclear how we regressed so far.

See #18151.

- - - - -
c2d6ce51 by Kirill Elagin at 2020-05-31T02:32:11-04:00
Winferred-safe-imports: Do not exit with error

Currently, when -Winferred-safe-imports is enabled, even when it is not
turned into an error, the compiler will still exit with exit code 1 if
this warning was emitted.

Make sure it is really treated as a warning.

- - - - -
7ef4cea1 by Ben Gamari at 2020-05-31T02:32:12-04:00
nonmoving: Optimise log2_ceil

- - - - -
59fe971c by Bodigrim at 2020-05-31T02:32:12-04:00
Clarify description of fromListN
- - - - -
7a275da4 by Bodigrim at 2020-05-31T02:32:12-04:00
Apply suggestion to libraries/base/GHC/Exts.hs
- - - - -
5ae43678 by fendor at 2020-05-31T02:32:22-04:00
Add `isInScope` check to `lintCoercion`

Mirrors the behaviour of `lintType`.

- - - - -
67a80a8a by fendor at 2020-05-31T02:32:22-04:00
Lint rhs of IfaceRule

- - - - -
10c93d91 by Jeremy Schlatter at 2020-05-31T02:32:23-04:00
Fix wording in documentation

The duplicate "orphan instance" phrase here doesn't make sense, and was
probably an accident.

- - - - -
5b286d4c by Takenobu Tani at 2020-05-31T02:32:39-04:00
configure: Modify aclocal.m4 according to new module hierarchy

This patch updates file paths according to new module hierarchy [1]:

* Rename:
  * compiler/GHC/Parser.hs       <= compiler/parser/Parser.hs
  * compiler/GHC/Parser/Lexer.hs <= compiler/Parser/Lexer.hs

* Add:
  * compiler/GHC/Cmm/Lexer.hs

[1]: https://gitlab.haskell.org/ghc/ghc/-/wikis/Make-GHC-codebase-more-modular

- - - - -
f0ac8704 by Ben Gamari at 2020-05-31T02:32:40-04:00
testsuite: Don't fail if we can't unlink __symlink_test

Afterall, it's possible we were unable to create it due to lack of
symlink permission.

- - - - -
eface331 by Ben Gamari at 2020-05-31T02:32:40-04:00
testsuite: Refactor ghostscript detection

Tamar reported that he saw crashes due to unhandled exceptions.

- - - - -
200ed348 by Ben Gamari at 2020-05-31T02:32:40-04:00
testsuite/perf_notes: Fix ill-typed assignments

- - - - -
5f63e0e0 by Ben Gamari at 2020-05-31T02:32:40-04:00
testsuite/testutil: Fix bytes/str mismatch

- - - - -
81631c53 by Ben Gamari at 2020-05-31T02:32:40-04:00
testsuite: Work around spurious mypy failure

- - - - -
683d04c0 by Takenobu Tani at 2020-05-31T02:32:42-04:00
Clean up file paths for new module hierarchy

This updates comments only.
This patch replaces file references according to new module hierarchy.

See also:
* https://gitlab.haskell.org/ghc/ghc/-/wikis/Make-GHC-codebase-more-modular
* https://gitlab.haskell.org/ghc/ghc/issues/13009

- - - - -
0685ee61 by Takenobu Tani at 2020-05-31T02:32:42-04:00
Modify file paths to module paths for new module hierarchy

This updates comments only.

This patch replaces module references according to new module
hierarchy [1][2].

For files under the `compiler/` directory, I replace them as
module paths instead of file paths. For instance,
`GHC.Unit.State` instead of `compiler/GHC/Unit/State.hs` [3].

For current and future haddock's markup, this patch encloses
the module name with "" [4].

[1]: https://gitlab.haskell.org/ghc/ghc/-/wikis/Make-GHC-codebase-more-modular
[2]: https://gitlab.haskell.org/ghc/ghc/issues/13009
[3]: https://gitlab.haskell.org/ghc/ghc/-/merge_requests/3375#note_276613
[4]: https://haskell-haddock.readthedocs.io/en/latest/markup.html#linking-to-modules

- - - - -
c3e9088d by Sylvain Henry at 2020-05-31T02:32:44-04:00
Hadrian: fix binary-dist target for cross-compilation

- - - - -


30 changed files:

- aclocal.m4
- compiler/GHC.hs
- compiler/GHC/Cmm/Utils.hs
- compiler/GHC/CmmToAsm/SPARC/Base.hs
- compiler/GHC/Core/Coercion/Opt.hs
- compiler/GHC/Core/InstEnv.hs
- compiler/GHC/Core/Lint.hs
- compiler/GHC/Core/Opt/ConstantFold.hs
- compiler/GHC/Core/TyCo/Tidy.hs
- compiler/GHC/Core/TyCon.hs
- compiler/GHC/Core/Unfold.hs
- compiler/GHC/Driver/Backpack.hs
- compiler/GHC/Driver/Main.hs
- compiler/GHC/Driver/Make.hs
- compiler/GHC/Driver/MakeFile.hs
- compiler/GHC/Driver/Types.hs
- compiler/GHC/Hs/ImpExp.hs
- compiler/GHC/HsToCore/Expr.hs
- compiler/GHC/HsToCore/Monad.hs
- compiler/GHC/HsToCore/PmCheck/Oracle.hs
- compiler/GHC/HsToCore/PmCheck/Types.hs
- compiler/GHC/HsToCore/Usage.hs
- compiler/GHC/Iface/Ext/Ast.hs
- compiler/GHC/Iface/Load.hs
- compiler/GHC/Iface/Recomp.hs
- compiler/GHC/Iface/Type.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/Header.hs
- compiler/GHC/Parser/Lexer.x


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f7b73d9d468193584b57308264fced4c8810385a...c3e9088d557c27f7d4da518fe184d3cde2f7755d

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f7b73d9d468193584b57308264fced4c8810385a...c3e9088d557c27f7d4da518fe184d3cde2f7755d
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/20200531/835995f2/attachment-0001.html>


More information about the ghc-commits mailing list