-
Notifications
You must be signed in to change notification settings - Fork 189
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
Effects / double translation: keep more functions in direct style #1791
Conversation
- An escaping function does not need to be in CPS - A CPS call site can call non-CPS functions
19ec7d0
to
6b00bf6
Compare
@vouillon, do you want to merge this before a release ? |
No, this can be merged later. |
I’m looking at this, but I think I need to reflect a bit more to understand this statement:
|
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.
This looks good to me! I only have a question on an unrelated point.
Here’s how this PR affects the (bzip2-ed) code size increase factor induced by
On |
If the calling convention can be chosen dynamically, doesn’t it open the way to being able to link together files compiled with |
With |
We don't require escaping functions nor functions called from a CPS call site to have a CPS variant. This makes it possible to reduce the amount of code duplication.
This implies that CPS call sites have to be able do deal with direct style functions. This makes CPS calls a little bit slower, but we don't care too much about performance in this case.