[Issue 21357] [REG2.093] postblit aliases old and new struct pointers

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Nov 3 08:24:29 UTC 2020


https://issues.dlang.org/show_bug.cgi?id=21357

Iain Buclaw <ibuclaw at gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuclaw at gdcproject.org

--- Comment #1 from Iain Buclaw <ibuclaw at gdcproject.org> ---
(In reply to johanengelen from comment #0)
> The problem is the following:
> 1. BatchState is a large struct, which means that `BatchState.copy()` is
> passed a pointer to a caller-allocated struct to store its return value
> (instead of returning a value through a register).

I wouldn't count that as a problem, returning large structs is always done
using a call slot optimization. It would be more likely whether the callee
copies into it or uses the return address directly.  The latter elides a copy,
but I don't initially see any reason BatchState should elide a copy (it is POD
afterall).

Is there an identified regressing commit yet? Or should I trigger a bisect.

--


More information about the Digitalmars-d-bugs mailing list