[GHC] #8287: exploring calling convention changes and related engineering for 7.10

GHC ghc-devs at haskell.org
Sat Sep 14 21:21:24 CEST 2013


#8287: exploring calling convention changes and related engineering for 7.10
-------------------------------------+------------------------------------
        Reporter:  carter            |            Owner:
            Type:  task              |           Status:  new
        Priority:  high              |        Milestone:  7.10.1
       Component:  Compiler          |          Version:  7.6.3
      Resolution:                    |         Keywords:
Operating System:  Unknown/Multiple  |     Architecture:  Unknown/Multiple
 Type of failure:  None/Unknown      |       Difficulty:  Rocket Science
       Test Case:                    |       Blocked By:
        Blocking:                    |  Related Tickets:
-------------------------------------+------------------------------------

Comment (by carter):

 (hrm, i can't seem to edit the ticket)

 4. explore adding support for an x32 style ABI. Ie all the x86_64
 features, but 32bit pointers.  most of the motivation people have for
 using 32bit ghc currently is the decreased memory pressure / locality
 element.

 excerpting the ghc irc thread on this

 {{{

 [12:49:13] <thoughtpolice>       copumpkin: i've thought about it, X32 is
 quite interesting
 [12:49:16] <luite>       copumpkin: 3 tag bits could still work if you
 have 64 bit alignment of all closures
 [12:49:25] <luite>       otherwise 2

 [12:50:19] <copumpkin>   yeah, that's what I was thinking
 [12:50:29] <copumpkin>   I'm just thinking of how much downside there is
 to using a 64-bit ghc
 [12:50:30] <thoughtpolice>       and haven't looked at it again this week
 [12:50:40] <copumpkin>   due to all the pointerness, if you don't have
 loads more RAM, you won't actually gain that much space
 [12:50:45] <luite>       thoughtpolice: thnx, i have worked around it here
 [12:50:59] <copumpkin>   something resembling x32 could be a happier
 medium
 [12:51:14] <thoughtpolice>       copumpkin: the more pressing thing is
 those doubly-sized pointers also waste extra cache space
 [12:51:18] <rwbarton>    copumpkin: I would <3 that so much
 [12:51:27] <copumpkin>   sure, that too
 [12:51:33] <copumpkin>   but I'm an Agda nerd and Agda loves RAM
 [12:51:37] <luite>       with x32 you could also have 32 bit ints and
 still have int64 fast
 [12:51:37] <copumpkin>   :P
 [12:51:54] <luite>       (would require a bit of rewiring though)

 }}}


 is is probably one of the easier experiments to do

-- 
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8287#comment:1>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler



More information about the ghc-tickets mailing list