[commit: ghc] wip/names3: Handle deserialization of tuples, etc specifically (5674451)

git at git.haskell.org git at git.haskell.org
Thu Sep 8 18:52:15 UTC 2016


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

On branch  : wip/names3
Link       : http://ghc.haskell.org/trac/ghc/changeset/56744512abba0574c1f3a81a521367a319c6e078/ghc

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

commit 56744512abba0574c1f3a81a521367a319c6e078
Author: Ben Gamari <ben at smart-cactus.org>
Date:   Sat Aug 20 16:52:26 2016 -0400

    Handle deserialization of tuples, etc specifically
    
    Previously BinIface would build a UniqFM containing all of the known-key
    things and use this to resolve the Names of known-key things during
    interface file deserialization. However, this has the disadvantage of
    building up a rather large map containing all type and data constructors
    for anonymous sums and tuples.
    
    We now instead add codepaths to map a unique back to its associated
    known key name, allowing us to greatly shrink the size of the map.


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

56744512abba0574c1f3a81a521367a319c6e078
 compiler/basicTypes/Unique.hs         |  35 ---------
 compiler/ghc.cabal.in                 |   1 +
 compiler/prelude/KnownUniques.hs      | 135 ++++++++++++++++++++++++++++++++++
 compiler/prelude/KnownUniques.hs-boot |  17 +++++
 compiler/prelude/PrelInfo.hs          |  18 -----
 compiler/prelude/TysWiredIn.hs        |  19 +++--
 6 files changed, 166 insertions(+), 59 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 56744512abba0574c1f3a81a521367a319c6e078


More information about the ghc-commits mailing list