[GHC] #12733: Orphan hashes are not being propagated correctly
GHC
ghc-devs at haskell.org
Tue Oct 18 06:28:55 UTC 2016
#12733: Orphan hashes are not being propagated correctly
-------------------------------------+-------------------------------------
Reporter: ezyang | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Driver | Version: 8.1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by ezyang):
Suggested fix: compute the export hash by hashing together the orphan
hashes of ALL transitively reachable orphan modules, not just the ones
from the home package. But perhaps this will have some negative
performance implication? (Perhaps not too bad; we only pay for orphans,
and there are not too many of them. We pay a lot more for family
instances.)
Another possibility would be to maintain a "transitive orphan hash" which
is the orphan hash and the orphan hashes of all transitively imported
orphan modules in a module. Then, for imports for external packages, we
only put the orphan hash of direct imports into our export hash. Then we
wouldn't have to probe all transitively imported orphans; just direct
imports--the downside is that if any of these transitive orphan hashes
change, our export hash would change, even if the final effective orphans
in scope stayed the same.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12733#comment:2>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list