[GHC] #12900: Common up identical info tables

GHC ghc-devs at haskell.org
Wed Nov 30 07:58:37 UTC 2016


#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


More information about the ghc-tickets mailing list