
#13604: ghci no longer loads dynamic .o files by default if they were built with -O -------------------------------------+------------------------------------- Reporter: George | Owner: dfeuer Type: bug | Status: patch Priority: highest | Milestone: 8.2.2 Component: Compiler | Version: 8.2.1-rc1 Resolution: | Keywords: | RecompilationCheck Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4123 Wiki Page: | -------------------------------------+------------------------------------- Comment (by dfeuer): Replying to [comment:38 George]:
So after this fix if I load a file compiled with -O2 into ghci will ghci just load it without recompiling it?
After this fix, you'll be able to load a compiled module (including one compiled with `-O` or `-O2`) into GHCi without recompiling it if nothing substantial has changed (e.g., source files) and both of the following are true: 1. The file was compiled with `-dynamic` 2. GHCi is run with `-fignore-optim-changes` The latter tells GHC that a file shouldn't be recompiled just because an "optimization flag" has changed. That's a bit of a fuzzy designation, but it includes all the flags included in `-O2` and several others as well. The one that might be most surprising is `-fignore-asserts`. If we need to add additional flags in the future to refine the way we handle such, we can consider it. Will this let you do what you need? I intend to do something similar for HPC, but I haven't yet. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13604#comment:39 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler