-
Notifications
You must be signed in to change notification settings - Fork 193
Separate compilation: generate and use cross module information regarding function arity #550
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
Comments
👍 |
There is no reason to share the same format, as the generated codes are not compatible. |
@vouillon, any idea on how to distinguish immutable (module) block from other possibly mutable ones? We could limit the optimisation to "compilation unit" modules and ignore sub-module but it would be a bit sad |
One can get some type information from the debugging events. |
I took a look at debug events. I think there are not enough.
I would be convenient to retrieve information about Immutable blocks. |
We can get some information from the cmi files. But I'm not sure we want to go this way. (One may have to expand some module types, and thus load cmi files corresponding to other toplevel modules.) The information in Maybe the module |
@gasche, I'm pointing your here to give you an early notice of what we might want to contribute upstream at some point. I don't have time to work on a PoC or RFC right now. In short, there are information in lambda that are not propagate to byte-code. |
We could greatly improve the code generated when compiling
cmo
files if we knew the arity of the functions exported by each module.This information could be stored in a separate file for each module compiled when the
--dynlink
option is used, or when compilingcmo
andcma
files.The text was updated successfully, but these errors were encountered: