[dmd-internals] What does POD imply for backends

Walter Bright walter at digitalmars.com
Mon Feb 18 13:09:14 PST 2013


On 2/18/2013 12:59 PM, Maxim Fomin wrote:
>
>
> 2013/2/18 Walter Bright <walter at digitalmars.com <mailto:walter at digitalmars.com>>
>
>
>     On 2/17/2013 1:59 PM, Iain Buclaw wrote:
>
>
>         By the way Johannes, the issue is clear I think.  You can't make
>         temporaries with non-POD structs?  This is something gdc is a bit
>         zealous in doing this around a lot of the code generation.  So
>         addressing that would certainly fix problems around the
>
>
>     Whenever you make a copy of a non-POD value, you have to (for example)
>     build an exception handling frame to destruct it if, in the meantime, an
>     exception is thrown. This is not only expensive, but it doesn't work if
>     the value lives in registers.
>
>
> What a coincidence.  I hit today issue 
> http://d.puremagic.com/issues/show_bug.cgi?id=8563 Are you implying that 
> temporaries of POD structures are impossible?

No. I'm asserting that non-POD values:

1. cannot be put in registers

2. are expensive to make temporaries of, because all the exception safety stuff 
has to be added

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/dmd-internals/attachments/20130218/86d47062/attachment.html>


More information about the dmd-internals mailing list