-
Notifications
You must be signed in to change notification settings - Fork 20
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
Use database of partial paths to speed up bindings resolution #1204
Conversation
|
1bef68e
to
a5557a8
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. I'll push a fix for the CI next, then this is good to go.
…attributes This *should* make it easier to construct a partial paths databases in which these nodes are endpoints.
This uses the added `save_checkpoint`/`restore_checkpoint` which rewind the allocation pointer in the `PartialPaths` arenas. For this to work properly, we also first `ensure_both_directions` in the database so that after that it doesn't need further mutation.
The database resolver will resolve all references at once by using a database of minimal partial paths.
… the `BindingGraph`
This makes it impossible to try to access definitions/references before resolving, and allows dropping the entire stack graph and database of partial paths used for resolution after they are no longer necessary.
…records The `definitions` test name is now a bit misleading since no definitions are retrieved there, but it's still where user source files are ingested.
618cc52
to
f94b1c0
Compare
f94b1c0
to
3c4fb33
Compare
Rebasing #1198 on latest after #1195 was merged.