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

Reply via email to