-
Notifications
You must be signed in to change notification settings - Fork 77
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
Cold continuation handlers in flambda2 #1543
Conversation
This now includes propagation of
|
I also think it should be a record, at least for the handlers. I think the change to a record will make the diff in this PR bigger though, so maybe a separate PR would actually be easier to review.
yes, I think the cfg-based register allocators are well suited for using this info. |
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.
only for files owned by me.
I agree that we should introduce some records for the |
512d798
to
1c1f5f9
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.
Good to merge, ^^
Cold continuation handlers will not be inlined, neither by simplify, nor by to_cmm. For now, they are generated only in from_lambda for the exception handlers of checked operations, but the plan is to add then in lambda as well and propagate the information. The backend parts seem more complex however: while it seems to be easy enough to propagate the information into Cmm code, it's unclear how to represent it inside Mach and Linear if we want to be able to put cold continuation handlers at the end of the function.