[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