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

David Nadlinger code at klickverbot.at
Sat Feb 9 00:14:37 PST 2013


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?

Thanks,
David


More information about the dmd-internals mailing list