Dwarf Exception Handling question
David Nadlinger via Digitalmars-d
digitalmars-d at puremagic.com
Mon Nov 23 16:36:06 PST 2015
On Monday, 23 November 2015 at 21:05:29 UTC, Walter Bright wrote:
> The code looks quite good. I've been trying to adjust things,
> however, so there are no pushes and pops in the code, trying to
> preallocate everything needed in the function prolog.
Wouldn't you still need to restore the stack before leaving the
function (tail call in this case)?
For a single register, push/pop is probably still cheaper than
setting up RBP and having the extra mov/sub.
> dmd rewrites try-catch-finally into try-{try-catch}-finally,
> which makes it easier to generate code, because fewer special
> cases and fewer bugs. I've become a big fan of that technique
Except that we actually need to flatten all the nesting into a
single landing pad anyway. How would you do this in DMD? I didn't
realize you could even have multiple EH table entries attached to
a single code location.
— David
More information about the Digitalmars-d
mailing list