[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