summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2017-04-01 11:51:43 -0400
committerBen Gamari <ben@smart-cactus.org>2017-04-01 11:57:49 -0400
commit77249644052c6f3309ff57f7db5c19eb19138d5b (patch)
treeaef932fed7c82f84ac687a8f8c7bf1b101cf3669 /ghc
parent24910e1940f5823c515810b859da709fb647e739 (diff)
downloadhaskell-77249644052c6f3309ff57f7db5c19eb19138d5b.tar.gz
Optimise common cases of GHC.setProgramDynFlags
* If the package flags haven't changed, don't do initPackages (which might take multiple seconds in extreme cases) * Provide a way to change the log_action without invalidating the summary cache. Test Plan: validate Reviewers: niteria, bgamari, austin, erikd, ezyang Reviewed By: bgamari Subscribers: mpickering, rwbarton, thomie Differential Revision: https://phabricator.haskell.org/D3392 (cherry picked from commit f7cc1fdebd6aa8b5cb0498ae245a5e8cf3e38f6f)
Diffstat (limited to 'ghc')
-rw-r--r--ghc/GHCi/UI.hs7
1 files changed, 0 insertions, 7 deletions
diff --git a/ghc/GHCi/UI.hs b/ghc/GHCi/UI.hs
index b2b54d339e..593307bdea 100644
--- a/ghc/GHCi/UI.hs
+++ b/ghc/GHCi/UI.hs
@@ -2593,13 +2593,6 @@ setOptions wds =
-- then, dynamic flags
when (not (null minus_opts)) $ newDynFlags False minus_opts
-packageFlagsChanged :: DynFlags -> DynFlags -> Bool
-packageFlagsChanged idflags1 idflags0 =
- packageFlags idflags1 /= packageFlags idflags0 ||
- ignorePackageFlags idflags1 /= ignorePackageFlags idflags0 ||
- pluginPackageFlags idflags1 /= pluginPackageFlags idflags0 ||
- trustFlags idflags1 /= trustFlags idflags0
-
newDynFlags :: Bool -> [String] -> GHCi ()
newDynFlags interactive_only minus_opts = do
let lopts = map noLoc minus_opts