diff options
author | Bartosz Nitka <niteria@gmail.com> | 2016-06-06 02:10:07 -0700 |
---|---|---|
committer | Bartosz Nitka <niteria@gmail.com> | 2016-06-06 02:11:04 -0700 |
commit | 3042a9d8d55b4706d2ce366fee1712c7357d5a00 (patch) | |
tree | 3d8af3dd805288bbca7097a100acdb28949e4b2c /compiler/ghci | |
parent | f91d87df889fb612183b8f2d42b29d2edd7c1dbc (diff) | |
download | haskell-3042a9d8d55b4706d2ce366fee1712c7357d5a00.tar.gz |
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
Diffstat (limited to 'compiler/ghci')
-rw-r--r-- | compiler/ghci/Linker.hs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/ghci/Linker.hs b/compiler/ghci/Linker.hs index 0f15ea2877..2df8840c1c 100644 --- a/compiler/ghci/Linker.hs +++ b/compiler/ghci/Linker.hs @@ -37,7 +37,6 @@ import Finder import HscTypes import Name import NameEnv -import UniqFM import Module import ListSetOps import DynFlags @@ -658,7 +657,7 @@ getLinkDeps hsc_env hpt pls replace_osuf span mods -- This one is a build-system bug get_linkable osuf mod_name -- A home-package module - | Just mod_info <- lookupUFM hpt mod_name + | Just mod_info <- lookupHpt hpt mod_name = adjust_linkable (Maybes.expectJust "getLinkDeps" (hm_linkable mod_info)) | otherwise = do -- It's not in the HPT because we are in one shot mode, |