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

internal: compiler trace free of legacy reports #795

Merged
merged 1 commit into from
Jul 13, 2023

Conversation

saem
Copy link
Collaborator

@saem saem commented Jul 13, 2023

Summary

Legacy reports were being used to output compiler tracing, this was a
mistake, it made tracing slow and complicated, and added yet more
complexity to the legacy reports. This functionality moved from
reports_sem and other such modules into debugutils.

Details

This is largely a lift-and-shift movement, data types and procedures are
moved over, chiefly TraceSemReport and reportBody.

Along with this move legacy reports cruft like ReportLineInfo and
inheriting from any legacy reports objects were removed. As well as a
key rename of TraceSemReport to CompilerTrace.

A large number of modules were impacted, thankfully mostly removing
dependencies. They already imported debugutils so the transition
simplifies consumers.

Finally, defaulted intermediate stacktraces between detailed traces as
the entire point of this is to see what the compiler is doing, this
was a poor default.

Summary

Legacy reports were being used to output compiler tracing, this was a
mistake, it made tracing slow and complicated, and added yet more
complexity to the legacy reports. This functionality moved from
`reports_sem` and other such modules into `debugutils`.

Details

This is largely a lift-and-shift movement, data types and procedures are
moved over, chiefly `TraceSemReport` and `reportBody`.

Along with this move legacy reports cruft like `ReportLineInfo` and
inheriting from any legacy reports objects were removed. As well as a
key rename of `TraceSemReport` to `CompilerTrace`.

A large number of modules were impacted, thankfully mostly removing
dependencies. They already imported `debugutils` so the transition
simplifies consumers.
@saem saem added refactor Implementation refactor compiler General compiler tag utils Internal compiler utilities simplification Removal of the old, unused, unnecessary or un/under-specified language features. labels Jul 13, 2023
@saem
Copy link
Collaborator Author

saem commented Jul 13, 2023

/merge

@github-actions
Copy link

Merge requested by: @saem

Contents after the first section break of the PR description has been removed and preserved below:


Notes for Reviewers

  • came up while trying to use this code to see compiler behaviour for generic
  • wow, do reports ever make my bloodboil

@chore-runner chore-runner bot added this pull request to the merge queue Jul 13, 2023
Merged via the queue into nim-works:devel with commit 018b8cb Jul 13, 2023
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler General compiler tag refactor Implementation refactor simplification Removal of the old, unused, unnecessary or un/under-specified language features. utils Internal compiler utilities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant