Mercurial > pub > dyncall > dyncall
comparison doc/manual/callconvs/callconv_x64.tex @ 486:d160046da104
doc cleanup: removed outdated/wrong info and fixed wrong value size specs
author | Tassilo Philipp |
---|---|
date | Thu, 17 Mar 2022 17:56:44 +0100 |
parents | b47168dacba6 |
children | 75cb8f79d725 |
comparison
equal
deleted
inserted
replaced
485:0c68b3f91367 | 486:d160046da104 |
---|---|
104 | 104 |
105 | 105 |
106 \paragraph{Return values} | 106 \paragraph{Return values} |
107 | 107 |
108 \begin{itemize} | 108 \begin{itemize} |
109 \item return values of pointer or integral type (\textless=\ 64 bits) are returned via the rax register | 109 \item return values of pointer, integral or aggregate (structs and unions) type (\textless=\ 64 bits) are returned via the rax register |
110 \item floating point types are returned via the xmm0 register | 110 \item floating point types are returned via the xmm0 register |
111 \item aggregates (structs and unions) \textless\ 64 bits are returned via the rax register | 111 \item for any other type \textgreater\ 64 bits, a hidden first parameter, with an address to the return value is passed (for C++ thiscalls it is passed as {\bf second} parameter, after the this pointer) |
112 \item for types \textgreater\ 64 bits, a hidden first parameter, with an address to the return value is passed (for C++ thiscalls it is passed as {\bf second} parameter, after the this pointer) | |
113 \end{itemize} | 112 \end{itemize} |
114 | 113 |
115 | 114 |
116 \paragraph{Stack layout} | 115 \paragraph{Stack layout} |
117 | 116 |