[commit: ghc] master: Use UniqDFM for HomePackageTable (3042a9d)

git at git.haskell.org git at git.haskell.org
Mon Jun 6 11:01:55 UTC 2016


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

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

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

commit 3042a9d8d55b4706d2ce366fee1712c7357d5a00
Author: Bartosz Nitka <niteria at gmail.com>
Date:   Mon Jun 6 02:10:07 2016 -0700

    Use UniqDFM for HomePackageTable
    
    This isn't strictly necessary for deterministic ABIs.
    The results of eltsHpt are consumed in two ways:
    1) they determine the order of linking
    2) if you track the data flow all the family instances get put in
       FamInstEnvs, so the nondeterministic order is forgotten.
    3) same for VectInfo stuff
    4) same for Annotations
    
    The problem is that I haven't found a nice way to do 2. in
    a local way and 1. is nice to have if we went for deterministic
    object files. Besides these maps are keyed on ModuleNames so they
    should be small relative to other things and the overhead should
    be negligible.
    
    As a bonus we also get more specific names.
    
    Test Plan: ./validate
    
    Reviewers: bgamari, austin, hvr, ezyang, simonmar
    
    Reviewed By: simonmar
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2300
    
    GHC Trac Issues: #4012


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

3042a9d8d55b4706d2ce366fee1712c7357d5a00
 compiler/basicTypes/Module.hs    |  8 ++++++-
 compiler/ghci/Linker.hs          |  3 +--
 compiler/iface/TcIface.hs        |  2 +-
 compiler/main/DriverPipeline.hs  |  3 +--
 compiler/main/GHC.hs             |  9 ++++----
 compiler/main/GhcMake.hs         | 35 ++++++++++++++--------------
 compiler/main/HscTypes.hs        | 50 +++++++++++++++++++++++++++++++++-------
 compiler/main/InteractiveEval.hs | 19 +++++++--------
 compiler/typecheck/FamInst.hs    |  3 +--
 compiler/utils/UniqDFM.hs        | 21 +++++++++++++++--
 10 files changed, 104 insertions(+), 49 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 3042a9d8d55b4706d2ce366fee1712c7357d5a00


More information about the ghc-commits mailing list