What is the state of play with 64-bit D?

Martin Nowak dawg at dawgfoto.de
Fri Sep 23 13:44:08 PDT 2011


On Fri, 23 Sep 2011 18:28:21 +0200, dsimcha <dsimcha at yahoo.com> wrote:

> == Quote from Derek (ddparnell at bigpond.com)'s article
>> I've been out of the 'loop' with D for quite awhile now so I haven't  
>> been
>> keeping up with current developments.
>> I will have a need for a decent 64-bit compiled language soon and I was
>> wondering how close D is away from this.
>
> DMD now has a 64-bit codegen that works quite well (well enough for  
> serious use,
> no showstopper bugs) on Linux.  This has been around since 2.052,  
> released last
> February.  It also supports 64-bit on FreeBSD, though I don't know how  
> well that
> works because I've never tried it.  On Windows and Mac OS, 64-bit isn't  
> supported.
>  On Windows this is because Optlink (the linker DMD uses on Windows)  
> doesn't work
> with 64-bit objects.  On Mac OS, I don't know what the bottleneck is.
>
> GDC has also been improving rapidly and is, as far as I can tell, one  
> showstopper
> bug
> (https://bitbucket.org/goshawk/gdc/issue/226/gc-from-spawned-threads-segfaults-on-64)
> away from being usable for serious work on Linux x64.  It already seems  
> usable in
> 32-bit mode.  There's been some work towards porting it to Windows, but  
> that's
> somewhat behind the curve.  The Windows version only supports an ancient  
> front-end
> release and 64-bit Windows support is buggy.
>
> LDC is a release behind DMD and GDC, so I haven't been following it.   
> It's
> supposed to support 64-bit Linux, though.

FreeBSD is pretty fine since we've figured out how to correctly add the  
static root to the garbage collector.

DMD currently has one known nasty bug for 64-bit codegen though it happens  
rarely (plenty of function arguments increase the probability).
http://d.puremagic.com/issues/show_bug.cgi?id=6189.
Another one involves extern(C) functions.
http://d.puremagic.com/issues/show_bug.cgi?id=5570.
You still should always take the possibility of a codegen bug into account
but I haven't run into one for months.

martin


More information about the Digitalmars-d mailing list