On Jun 30, 2010, at 9:39 PM, Walter Bright wrote: > > Sean Kelly wrote: >> >> >> What about the ABI changes for 64-bit? Will function calls simply switch to >> stuffing the first arg into RAX instead of EAX and continue as-is? Or is it >> too early to say? I know the C calling convention is significantly >> different. >> >> > > I intend to match the C 64 bit ABI. But that shouldn't affect D source code > other than inline asm. The only problems D source code should have are: > > 1. failure to account for changes in size_t and pointers > 2. use of int and unsigned as indices for arrays that might get large > 3. inline assembler (of course) > 4. C header differences and differences in the C runtime library > > If someone wants to get a head start on this, I'd start by reviewing the D > files that interface with C, such as core.stdc.* and core.sys.* The system > structs like _iobuf are surely different.
I put versions and conditionals in when I created those that should support 64-bit. All that should be required is possibly some fiddling with core.sys.posix.config and possibly core.stdc.config. The headers obviously haven't been tested as thoroughly in a 64-bit environment though, so it's possible I screwed something up and we just don't know it yet. The asm in core.atomic should support 64-bit as well. I haven't take care of core.thread yet though. _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
