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

Split up the monolithic TypeEngine into a TypeEngine per module. #6227

Open
JoshuaBatty opened this issue Jul 5, 2024 · 0 comments
Open
Labels
compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen

Comments

@JoshuaBatty
Copy link
Member

This idea came up in conversation with @tritao. Just thought I'd open an issue about it so we can work towards a nice implementation for either this or a similar technique.

The idea for this came out of wanting to make caching and garbage collection a bit easier.

For the typeID, we could do something similar to the SourceId where the first ‘n’ bits specify the TypeEngineId that the type isn’t stored within.
I guess we should also do this for the DeclEngines and ParsedDeclEngines as well.

Would this also make having a single workspaces collection of Engines possible as mentioned in #5856?

@JoshuaBatty JoshuaBatty added the compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen label Jul 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
compiler: frontend Everything to do with type checking, control flow analysis, and everything between parsing and IRgen
Projects
None yet
Development

No branches or pull requests

1 participant