[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