diff options
author | Simon Marlow <marlowsd@gmail.com> | 2017-04-01 11:51:43 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2017-04-01 11:57:49 -0400 |
commit | 77249644052c6f3309ff57f7db5c19eb19138d5b (patch) | |
tree | aef932fed7c82f84ac687a8f8c7bf1b101cf3669 /ghc | |
parent | 24910e1940f5823c515810b859da709fb647e739 (diff) | |
download | haskell-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.hs | 7 |
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 |