www.digitalmars.com         C & C++   DMDScript  

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

reply Derek <ddparnell bigpond.com> writes:
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.

-- 
Derek Parnell
Melbourne, Australia
Sep 23 2011
next sibling parent q66 <quaker66 gmail.com> writes:
Derek Wrote:

 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.
 
 -- 
 Derek Parnell
 Melbourne, Australia

64bit is fine on linux, freebsd, but not on mac and windows IIRC
Sep 23 2011
prev sibling next sibling parent reply dsimcha <dsimcha yahoo.com> writes:
== Quote from Derek (ddparnell 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.
Sep 23 2011
parent "Martin Nowak" <dawg dawgfoto.de> writes:
On Fri, 23 Sep 2011 18:28:21 +0200, dsimcha <dsimcha yahoo.com> wrote:

 == Quote from Derek (ddparnell 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
Sep 23 2011
prev sibling parent Alexey Veselovsky <alexey.veselovsky gmail.com> writes:
 =A0On Windows this is because Optlink (the linker DMD uses on Windows) do=

 with 64-bit objects. =A0On Mac OS, I don't know what the bottleneck is.

On Mac OS X bottleneck is 64bit Mach-O object file generation (there is problem with load-command alignment).
Sep 23 2011