February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote:
> ;------- SUB 000000000045119Ch -------; showDmdBadCodegen
> 000000000045119Ch push rbp
> 000000000045119Dh mov rbp, rsp
> 00000000004511A0h mov rdi, qword ptr [rbp+10h] ; ouch 42 is erased here !
> 00000000004511A4h call 00000000004516FCh
> 00000000004511A9h pop rbp
> 00000000004511AAh ret
> ;-------------------------------------
So I take it you file Bugzilla issue, then? ;)
|
February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Per Nordlöw | On Tuesday, 12 February 2019 at 20:48:04 UTC, Per Nordlöw wrote:
> On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote:
>> ;------- SUB 000000000045119Ch -------; showDmdBadCodegen
> So I take it you file Bugzilla issue, then? ;)
Yes i can try to open something. Also since now it's almost sure that it's not the same as 15075 since t doesn't imply parameter passing.
|
February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote:
> The bug goes away when S size is over or equal to 33 bytes because in this case the parameter is well copied.
correction: I meant 17, not 33.
|
February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Per Nordlöw | On Tuesday, 12 February 2019 at 20:48:04 UTC, Per Nordlöw wrote: > On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote: >> ;------- SUB 000000000045119Ch -------; showDmdBadCodegen >> 000000000045119Ch push rbp >> 000000000045119Dh mov rbp, rsp >> 00000000004511A0h mov rdi, qword ptr [rbp+10h] ; ouch 42 is erased here ! >> 00000000004511A4h call 00000000004516FCh >> 00000000004511A9h pop rbp >> 00000000004511AAh ret >> ;------------------------------------- > > So I take it you file Bugzilla issue, then? ;) https://issues.dlang.org/show_bug.cgi?id=19672 |
February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Tuesday, 12 February 2019 at 21:11:47 UTC, Basile B. wrote:
>> So I take it you file Bugzilla issue, then? ;)
>
> https://issues.dlang.org/show_bug.cgi?id=19672
Thanks!
|
February 12, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to ag0aep6g | On 2/12/2019 7:01 AM, ag0aep6g wrote:
> This one looks like it might be related, but it doesn't seem to be a true duplicate:
>
> https://issues.dlang.org/show_bug.cgi?id=15075
Related issues can be added to the "See Also" thing on the Bugzilla page.
|
February 13, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Basile B. | On Tuesday, 12 February 2019 at 21:01:12 UTC, Basile B. wrote:
> On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote:
>> The bug goes away when S size is over or equal to 33 bytes because in this case the parameter is well copied.
>
> correction: I meant 17, not 33.
Does this happen for every struct `S`, where
S.sizeof <= 16
or does
S.tupleof
play a role aswell?
|
February 13, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Per Nordlöw | On Wednesday, 13 February 2019 at 09:05:17 UTC, Per Nordlöw wrote:
> On Tuesday, 12 February 2019 at 21:01:12 UTC, Basile B. wrote:
>> On Tuesday, 12 February 2019 at 20:26:55 UTC, Basile B. wrote:
>>> The bug goes away when S size is over or equal to 33 bytes because in this case the parameter is well copied.
>>
>> correction: I meant 17, not 33.
>
> Does this happen for every struct `S`, where
>
> S.sizeof <= 16
>
> or does
>
> S.tupleof
>
> play a role aswell?
S.sizeof 9 to 16, only for long and ulong. Order doesn't matter. Tested with other 8-byte types like double, int[2], short[4], ubyte[8], and it works fine. The type of the padding field also doesn't seem to matter.
--
Simen
|
February 13, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Simen Kjærås | On Wednesday, 13 February 2019 at 10:10:21 UTC, Simen Kjærås wrote:
> S.sizeof 9 to 16, only for long and ulong. Order doesn't matter. Tested with other 8-byte types like double, int[2], short[4], ubyte[8], and it works fine. The type of the padding field also doesn't seem to matter.
Thanks. Can you add that to the issue?
|
February 13, 2019 Re: Severe 2.084 regression when using staticArray on array of struct with class and bool member | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | On Wednesday, 13 February 2019 at 07:34:05 UTC, Walter Bright wrote: > On 2/12/2019 7:01 AM, ag0aep6g wrote: >> This one looks like it might be related, but it doesn't seem to be a true duplicate: >> >> https://issues.dlang.org/show_bug.cgi?id=15075 > > Related issues can be added to the "See Also" thing on the Bugzilla page. Thanks you, Walter. https://github.com/dlang/dmd/pull/9357 |
Copyright © 1999-2021 by the D Language Foundation