February 18, 2013 Re: [dmd-internals] What does POD imply for backends | ||||
---|---|---|---|---|
| ||||
Posted in reply to Maxim Fomin Attachments:
|
On 2/18/2013 12:59 PM, Maxim Fomin wrote:
>
>
> 2013/2/18 Walter Bright <walter@digitalmars.com <mailto:walter@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
|
Copyright © 1999-2021 by the D Language Foundation