Thread overview | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 20, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P1 |P3 CC| |code@dawg.eu Summary|change in struct ctor |[REG 2.067] struct ctor |lowering generates |init compiles very slow and |excessive init code |produces excessive amounts | |of code Severity|normal |regression --- Comment #1 from Martin Nowak <code@dawg.eu> --- cat > bug.d << CODE struct Bug { size_t[16 * 1024] data; } void test() { auto b = Bug(); } CODE ---- dmd -c bug ---- It looks like related to issue 11233, but is most likely due to the change struct literal code, that not performs field assignment instead of copying the init array. -- |
March 20, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #2 from Martin Nowak <code@dawg.eu> --- mov %eax,-0x20000(%rbp) mov %eax,-0x1fffc(%rbp) mov %eax,-0x1fff8(%rbp) ... mov %ecx,-0x1f804(%rbp) xor %edx,%edx // Why edx all of a sudden? mov %edx,-0x1f800(%rbp) ... mov %edx,-0xc(%rbp) mov %edx,-0x8(%rbp) mov %edx,-0x4(%rbp) In total 32768 4-byte assignments to initialize the struct. -- |
March 20, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |etcimon@gmail.com --- Comment #3 from Martin Nowak <code@dawg.eu> --- Reported by Etienne Cimon. https://github.com/rejectedsoftware/vibe.d/issues/1016#issuecomment-83735025 -- |
March 20, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #4 from Martin Nowak <code@dawg.eu> --- There is a 2nd variation of this bug. Even when assigning an better sinit symbol, it is deleted for assignments. This was added with a fix for issue 7502. No clue why https://github.com/D-Programming-Language/dmd/commit/3f88f156879841ef79162916b2dbbf28e2a1fcc3?diff=unified#diff-6e3ab8a500e476994f345ede433811bbR3538. cat > bug.d << CODE struct Bug { size_t[16 * 1024] data; } void test() { Bug b; b = Bug(); } CODE ---- dmd -c bug ---- -- |
March 20, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 Martin Nowak <code@dawg.eu> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |pull --- Comment #5 from Martin Nowak <code@dawg.eu> --- https://github.com/D-Programming-Language/dmd/pull/4506 -- |
March 22, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #6 from github-bugzilla@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/99dab7d640db15b8ee8ade1ad1430298884e013f Partial fix for issue 14133 - generate precise fillHoles code for struct literal expression https://github.com/D-Programming-Language/dmd/commit/ce11286e21f54b07675ce4abe116a83c931f94c6 Merge pull request #4508 from 9rnsr/fix14133 [REG2.067a] Partial fix for issue 14133 - generate precise fillHoles code for struct literal expression -- |
March 22, 2015 [Issue 14133] [REG 2.067] struct ctor init compiles very slow and produces excessive amounts of code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #7 from github-bugzilla@puremagic.com --- Commit pushed to 2.067 at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9d8ebb2f3a146b1e4fb4d125e36c7514cde420cb Merge pull request #4508 from 9rnsr/fix14133 [REG2.067a] Partial fix for issue 14133 - generate precise fillHoles code for struct literal expression -- |
March 22, 2015 [Issue 14133] change in struct ctor lowering generates excessive init code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 Kenji Hara <k.hara.pg@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords|pull | Summary|[REG 2.067] struct ctor |change in struct ctor |init compiles very slow and |lowering generates |produces excessive amounts |excessive init code |of code | Severity|regression |normal --- Comment #8 from Kenji Hara <k.hara.pg@gmail.com> --- The issue case in comment #4 will be fixed in 2.067 release, so change back the importance to "normal". -- |
April 11, 2015 [Issue 14133] change in struct ctor lowering generates excessive init code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #9 from github-bugzilla@puremagic.com --- Commit pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/9d8ebb2f3a146b1e4fb4d125e36c7514cde420cb Merge pull request #4508 from 9rnsr/fix14133 -- |
June 17, 2015 [Issue 14133] change in struct ctor lowering generates excessive init code | ||||
---|---|---|---|---|
| ||||
https://issues.dlang.org/show_bug.cgi?id=14133 --- Comment #10 from github-bugzilla@puremagic.com --- Commits pushed to stable at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/99dab7d640db15b8ee8ade1ad1430298884e013f Partial fix for issue 14133 - generate precise fillHoles code for struct literal expression https://github.com/D-Programming-Language/dmd/commit/ce11286e21f54b07675ce4abe116a83c931f94c6 Merge pull request #4508 from 9rnsr/fix14133 -- |
Copyright © 1999-2021 by the D Language Foundation