[commit: ghc] master: TTG for HsBinds and Data instances Plan B (b138694)

git at git.haskell.org git at git.haskell.org
Fri Apr 13 11:41:20 UTC 2018


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/b1386942e63ba5fe4b2da27f5025afdf80356392/ghc

>---------------------------------------------------------------

commit b1386942e63ba5fe4b2da27f5025afdf80356392
Author: Alan Zimmerman <alan.zimm at gmail.com>
Date:   Sun Apr 1 21:33:53 2018 +0200

    TTG for HsBinds and Data instances Plan B
    
    Summary:
    - Add the balance of the TTG extensions for hsSyn/HsBinds
    
    - Move all the (now orphan) data instances into hsSyn/HsInstances and
    use TTG Data instances Plan B
    https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/Instances#PLANB
    
    Updates haddock submodule.
    
    Illustrative numbers
    
    Compiling HsInstances before using Plan B.
    
    Max residency ~ 5G
    <<ghc: 629,864,691,176 bytes, 5300 GCs,
           321075437/1087762592 avg/max bytes residency (23 samples),
           2953M in use, 0.000 INIT (0.000 elapsed),
           383.511 MUT (384.986 elapsed), 37.426 GC (37.444 elapsed) :ghc>>
    
    Using Plan B
    
    Max residency 1.1G
    
    <<ghc: 78,832,782,968 bytes, 2884 GCs,
           222140352/386470152 avg/max bytes residency (34 samples),
           1062M in use, 0.001 INIT (0.001 elapsed),
           56.612 MUT (62.917 elapsed), 32.974 GC (32.923 elapsed) :ghc>>
    
    Test Plan: ./validate
    
    Reviewers: shayan-najd, goldfire, bgamari
    
    Subscribers: goldfire, thomie, mpickering, carter
    
    Differential Revision: https://phabricator.haskell.org/D4581


>---------------------------------------------------------------

b1386942e63ba5fe4b2da27f5025afdf80356392
 compiler/deSugar/Coverage.hs                       |  22 +-
 compiler/deSugar/DsBinds.hs                        |   8 +-
 compiler/deSugar/DsExpr.hs                         |  18 +-
 compiler/deSugar/DsMeta.hs                         |  47 +-
 compiler/ghc.cabal.in                              |   1 +
 compiler/hsSyn/Convert.hs                          |  27 +-
 compiler/hsSyn/HsBinds.hs                          | 246 +++++++---
 compiler/hsSyn/HsDecls.hs                          |  39 +-
 compiler/hsSyn/HsExpr.hs                           |  23 +-
 compiler/hsSyn/HsExpr.hs-boot                      |  10 +-
 compiler/hsSyn/HsExtension.hs                      | 503 ++++++++++++++-------
 compiler/hsSyn/HsInstances.hs                      | 405 +++++++++++++++++
 compiler/hsSyn/HsLit.hs                            |   3 -
 compiler/hsSyn/HsPat.hs                            |   2 -
 compiler/hsSyn/HsPat.hs-boot                       |   4 +-
 compiler/hsSyn/HsSyn.hs                            |   9 +-
 compiler/hsSyn/HsTypes.hs                          |  11 -
 compiler/hsSyn/HsUtils.hs                          |  62 +--
 compiler/main/InteractiveEval.hs                   |   2 +-
 compiler/parser/Parser.y                           |  44 +-
 compiler/parser/RdrHsSyn.hs                        |  11 +-
 compiler/rename/RnBinds.hs                         | 138 +++---
 compiler/rename/RnExpr.hs                          |  29 +-
 compiler/rename/RnNames.hs                         |   2 +-
 compiler/rename/RnSource.hs                        |  14 +-
 compiler/typecheck/TcBinds.hs                      |  75 +--
 compiler/typecheck/TcClassDcl.hs                   |  18 +-
 compiler/typecheck/TcEnv.hs                        |   4 +-
 compiler/typecheck/TcGenDeriv.hs                   |  10 +-
 compiler/typecheck/TcHsSyn.hs                      |  64 ++-
 compiler/typecheck/TcInstDcls.hs                   |  27 +-
 compiler/typecheck/TcPatSyn.hs                     |  15 +-
 compiler/typecheck/TcRnDriver.hs                   |   6 +-
 compiler/typecheck/TcSigs.hs                       |  25 +-
 compiler/typecheck/TcTyClsDecls.hs                 |   5 +-
 compiler/typecheck/TcTyDecls.hs                    |   2 +-
 .../parser/should_compile/DumpParsedAst.stderr     |   5 +-
 .../parser/should_compile/DumpRenamedAst.stderr    |   7 +-
 .../should_compile/DumpTypecheckedAst.stderr       |  15 +-
 testsuite/tests/perf/haddock/all.T                 |   9 +-
 utils/ghctags/Main.hs                              |   4 +-
 utils/haddock                                      |   2 +-
 42 files changed, 1337 insertions(+), 636 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc b1386942e63ba5fe4b2da27f5025afdf80356392


More information about the ghc-commits mailing list