
#12900: Common up identical info tables -------------------------------------+------------------------------------- Reporter: dobenour | Owner: Type: feature request | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Runtime | Unknown/Multiple performance bug | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by osa1): I've been thinking about this idea for a while, I think it's a great idea. I'd be willing to work on that if @simonpj or others can comment on how possible this is. I agree that we could save massive amount of space. I think what we can do is, we can give same info tables same names, so if we have {{{#!haskell data X = A | B data Bool = True | False }}} Both of these get the same info table `hs_s_s_info` (`s` is for "singleton"). Similarly, {{{#!haskell data Either a b = Left a | Right b }}} gets info table `hs_p_p_info` ('p' is for "pointer") etc. Then when linking we ignore multiple definitions of same info table symbols (not sure if this is possible easily). -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/12900#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler