backend: dwarfdbginf: refactor DWARF abbreviations#13237
backend: dwarfdbginf: refactor DWARF abbreviations#13237dlang-bot merged 1 commit intodlang:masterfrom
Conversation
|
Thanks for your pull request, @ljmf00! Bugzilla referencesYour PR doesn't reference any Bugzilla issue. If your PR contains non-trivial changes, please reference a Bugzilla issue or create a manual changelog. Testing this PR locallyIf you don't have a local development environment setup, you can use Digger to test this PR: dub run digger -- build "master + dmd#13237" |
c883340 to
fd6e3fc
Compare
fd6e3fc to
8e0bc0c
Compare
1ca2ce9 to
e4e1011
Compare
e4e1011 to
7089cd7
Compare
|
@ljmf00 are you still working on this? |
|
Yes, I still have notes about this on my task list. I stopped this due to the fact that I have a lot of other changes on DWARF generator that will need refactoring for sure. I'm going to wait for merge of those changes and then proceed with the rest of the refactor. |
|
Can you point out what other PRs are stalling this? I can put them on the fast lane. |
I still have the following:
After I have the type naming correct (#13274), I need to do a similar change on top to #13254 for EDIT: The other patches I had here marked as stale were already merged. |
|
Ok, I merged one of those and the other one should get in soon. Ping me whenever you are stalled on something. |
|
Weirdly, I can't reproduce dshell testsuite locally. |
|
This is green, is it ready for review? |
I still have a lot to change. This can be iteratively done tho. I'm thinking of adding more testing on DWARF before proceeding, but probably a half-backed refactor is not good to merge. The test suite I want to add is pretty much adding support for checking the debug info generated with |
|
Needs #13237 . |
|
Circular reference, stack overflow. |
Oh, sorry 🙃 I meant #13754. |
d98410b to
c69c91a
Compare
|
Finally ready for review 😊 |
3ce3e55 to
1ac7c29
Compare
|
This is very hard to review because it tries to do way too much. The "Motivation" section lists 4 distinct refactorings. 4 PRs, one for each, would be much more reviewable. This one is nearly 500 lines long. |
I try to make refactors atomic, but for this one, I didn't see the need. This PR pretty much removes manual LEB128 encoded arrays with The hardest part I see in the review is the move of the |
|
@WalterBright I just split this PR up into smaller pieces. I will create upcoming PRs to refactor the missing parts. Are you able to review it now? |
8462da2 to
a73607e
Compare
|
Ping @WalterBright or perhaps @RazvanN7 can you review this? |
Signed-off-by: Luís Ferreira <contact@lsferreira.net>

Signed-off-by: Luís Ferreira contact@lsferreira.net
Motivation for this change:
bytewrites, which is technically right, because, before a certain range (>0x80), LEB128 encoding doesn't matter, but in situations like backend: dwarfdbginf: Add DWARF DW_AT_noreturn attribute #13202 , people (like me) struggle at finding why such simple addition doesn't work as expected. Therefore this increases a lot on readability and simplifies the logic.