February 09, 2013 [dmd-internals] x86: Callee-save registers, callWithStackShell(). | ||||
---|---|---|---|---|
| ||||
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
_______________________________________________
dmd-internals mailing list
dmd-internals@puremagic.com
http://lists.puremagic.com/mailman/listinfo/dmd-internals
|
February 09, 2013 Re: [dmd-internals] x86: Callee-save registers, callWithStackShell(). | ||||
---|---|---|---|---|
| ||||
Posted in reply to David Nadlinger | 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. _______________________________________________ dmd-internals mailing list dmd-internals@puremagic.com http://lists.puremagic.com/mailman/listinfo/dmd-internals |
Copyright © 1999-2021 by the D Language Foundation