[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