
#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