Mercurial > pub > dyncall > dyncall
comparison doc/manual/callconvs/callconv_sparc64.tex @ 607:9d0eefb0e0f0
- sparc64 callback crash fix (local register wasn't preserved)
- manual typo fixed
author | Tassilo Philipp |
---|---|
date | Thu, 22 Sep 2022 23:15:51 +0200 |
parents | fc614cb865c6 |
children |
comparison
equal
deleted
inserted
replaced
606:85b7a117b807 | 607:9d0eefb0e0f0 |
---|---|
32 \product{dyncall} fully supports the SPARC 64-bit instruction set (V9), for calls and callbacks. | 32 \product{dyncall} fully supports the SPARC 64-bit instruction set (V9), for calls and callbacks. |
33 | 33 |
34 \subsubsection{SPARC (64-bit) Calling Convention} | 34 \subsubsection{SPARC (64-bit) Calling Convention} |
35 | 35 |
36 \begin{itemize} | 36 \begin{itemize} |
37 \item 32 double precision floating point registers (d0,d2,d4,...,d62, usable as 16 quad precision ones q0,q4,q8,...g60, and also first half of them are usable as 32 single precision registers f0-f31) | 37 \item 32 double precision floating point registers (d0,d2,d4,...,d62, usable as 16 quad precision ones q0,q4,q8,...q60, and also first half of them are usable as 32 single precision registers f0-f31) |
38 \item 32 64-bit integer/pointer registers out of a bigger (vendor/model dependent) number that are accessible at a time (8 are global ones (g*), whereas the remaining 24 form a register window with 8 input (i*), 8 output (o*) and 8 local (l*) ones) | 38 \item 32 64-bit integer/pointer registers out of a bigger (vendor/model dependent) number that are accessible at a time (8 are global ones (g*), whereas the remaining 24 form a register window with 8 input (i*), 8 output (o*) and 8 local (l*) ones) |
39 \item calling a function shifts the register window, the old output registers become the new input registers (old local and input ones are not accessible anymore) | 39 \item calling a function shifts the register window, the old output registers become the new input registers (old local and input ones are not accessible anymore) |
40 \item stack and frame pointer are offset by a BIAS of 2047 (see official doc for reasons) | 40 \item stack and frame pointer are offset by a BIAS of 2047 (see official doc for reasons) |
41 \end{itemize} | 41 \end{itemize} |
42 | 42 |