Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MangleProcs following the Itanium spec so they are demangled in the debugger call stack #23260

Merged
merged 15 commits into from
Feb 9, 2024

Conversation

jmgomez
Copy link
Collaborator

@jmgomez jmgomez commented Jan 26, 2024

image

Just wanted to run it through the CI still missing:
- [ ] Tests
- [ ] Improve some corners (i.e generics have a soft mangling)
- [ ] Opt-in and debug only? (Produce very bad names in the codegen)
@jmgomez jmgomez marked this pull request as draft January 26, 2024 18:18
@jmgomez jmgomez marked this pull request as ready for review January 31, 2024 13:50
@jmgomez jmgomez changed the title MangleProcs following the Itanium spec so they are unmangled in the debugger call stack MangleProcs following the Itanium spec so they are demangled in the debugger call stack Jan 31, 2024
@elcritch
Copy link
Contributor

elcritch commented Feb 8, 2024

@jmgomez any chance this could be utilized with variables as well?

@jmgomez
Copy link
Collaborator Author

jmgomez commented Feb 8, 2024

@jmgomez any chance this could be utilized with variables as well?

Unfortunately the debuggers dont pick the Itanium mangling scheme for vars. But locals are fine, mangling on parameters is minimal and in globals is not that bad. In the mid term the plan is to build a custom debugger adapter (so we can also opt-in temps)

compiler/ccgutils.nim Outdated Show resolved Hide resolved
compiler/ccgutils.nim Outdated Show resolved Hide resolved
compiler/ccgutils.nim Outdated Show resolved Hide resolved
@Araq Araq added the merge_when_passes_CI mergeable once green label Feb 8, 2024
@Araq Araq merged commit a45f43d into nim-lang:devel Feb 9, 2024
19 checks passed
Copy link
Contributor

github-actions bot commented Feb 9, 2024

Thanks for your hard work on this PR!
The lines below are statistics of the Nim compiler built from a45f43d

Hint: mm: orc; opt: speed; options: -d:release
177964 lines; 7.618s; 768.547MiB peakmem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge_when_passes_CI mergeable once green
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants