[dmd-internals] x86: Callee-save registers, callWithStackShell().

Walter Bright walter at digitalmars.com
Sat Feb 9 00:48:21 PST 2013


On 2/9/2013 12:14 AM, David Nadlinger wrote:
> Just to make sure I understood the calling convention used by DMD on x86:
>
> core.thread.callWithStackShell currently uses pushad to ensure that
> all registers are on the stack to be scannable by the GC. But in
> theory it would be enough to push EBX, ESI and EDI, as the other
> registers would be saved by the callWithStackShell caller anyway if
> they contained something of interest. Correct?
>

Yes.


More information about the dmd-internals mailing list