digitalmars.D.bugs - [Issue 2299] New: the ABI documentation for registry convention does not include IA-64 platform
- d-bugmail puremagic.com (21/21) Aug 20 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2299
- Jarrett Billingsley (6/27) Aug 20 2008 The ABI does not give any heed to 64-bit platforms. Or non-x86 platform...
- d-bugmail puremagic.com (5/5) Aug 26 2008 http://d.puremagic.com/issues/show_bug.cgi?id=2299
- d-bugmail puremagic.com (15/15) Aug 10 2011 http://d.puremagic.com/issues/show_bug.cgi?id=2299
- d-bugmail puremagic.com (7/7) Jan 22 2012 http://d.puremagic.com/issues/show_bug.cgi?id=2299
http://d.puremagic.com/issues/show_bug.cgi?id=2299 Summary: the ABI documentation for registry convention does not include IA-64 platform Product: D Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: www.digitalmars.com AssignedTo: bugzilla digitalmars.com ReportedBy: manlio.perillo gmail.com The ABI documentation for registry convention says that: long and ulong are returned in EDX,EAX, where EDX gets the most significant half. However this is only true for IA-32 architecture. For IA-64 architecture long and ulong are returned in RAX. NOTE: I have not checked if this is true, but tango.Atomic.atomicIncrement assume this is true --
Aug 20 2008
<d-bugmail puremagic.com> wrote in message news:bug-2299-3 http.d.puremagic.com/issues/...http://d.puremagic.com/issues/show_bug.cgi?id=2299 Summary: the ABI documentation for registry convention does not include IA-64 platform Product: D Version: unspecified Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: www.digitalmars.com AssignedTo: bugzilla digitalmars.com ReportedBy: manlio.perillo gmail.com The ABI documentation for registry convention says that: long and ulong are returned in EDX,EAX, where EDX gets the most significant half. However this is only true for IA-32 architecture. For IA-64 architecture long and ulong are returned in RAX. NOTE: I have not checked if this is true, but tango.Atomic.atomicIncrement assume this is trueThe ABI does not give any heed to 64-bit platforms. Or non-x86 platforms. In that case, I'm not sure that the ABI is right or wrong. The only 64-bit D compiler in existence right now is GDC, and it is technically nonconformant as it always uses the C calling convention.
Aug 20 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2299 The assembler part of the ABI document is for the 32 bit x86 architecture, it does not address other architectures. --
Aug 26 2008
http://d.puremagic.com/issues/show_bug.cgi?id=2299 Trass3r <mrmocool gmx.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |spec CC| |mrmocool gmx.de Now that x64 is supported by dmd, could the ABI document be updated to accommodate that? btw currently structs of size 16 bytes are passed via a hidden parameter rather than in 2 registers. Maybe even more registers could be used since there are more available. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 10 2011
http://d.puremagic.com/issues/show_bug.cgi?id=2299 02:38:49 PST --- Some improvements to the ABI page: https://github.com/D-Programming-Language/d-programming-language.org/commit/128f6bd7a4e8879a510d2364a96f2731375bc6f4 -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 22 2012