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

Handle @canonical tags on compilation unit #649

Merged
merged 5 commits into from
Mar 26, 2021

Conversation

Julow
Copy link
Collaborator

@Julow Julow commented Mar 24, 2021

Fix #559 (comment)

Before this, @canonical tags in the top-comments of a file were ignored.

Julow added 5 commits March 24, 2021 15:54
Resolving of root modules is no longer lazy. Return types are changed to
make debugging easier if that's a problem.
Before this, @canonical tags in the top-comments of a file were ignored.
Some (Resolved (u.root.digest, id, u.hidden, m))
let unit = r.resolve_unit u.root in
let m = module_of_unit unit in
Some (Resolved (u.root.digest, id, m))
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolving root modules is no longer lazy because we need to check for canonical everytime.
Is here a case where this would cause a slowdown ? (no change on base)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could be actually - could you do a test run on core_kernel or similar? I'd be interested to see the difference in memory usage too.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find no regression on core_kernel (29s in both cases). Maximum memory doesn't seem to change too.

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

Successfully merging this pull request may close these issues.

Canonical does not work on compilation units
2 participants